-- Keymaps are automatically loaded on the VeryLazy event -- Default keymaps that are always set: https://github.com/LazyVim/LazyVim/blob/main/lua/lazyvim/config/keymaps.lua -- Add any additional keymaps here -- -- set leader key to space vim.g.mapleader = " " local keymap = vim.keymap -- for conciseness --------------------- -- General Keymaps ------------------- -- use jk to exit insert mode keymap.set("i", "jk", "", { desc = "Exit insert mode with jk" }) --make navigation a bit more logical keymap.set("n", "1", "0", { desc = "Jump to beginning of line" }) keymap.set("n", "0", "$", { desc = "jump to end of line" }) --same navigation but for visual mode keymap.set("v", "1", "0", { desc = "Jump to beginning of line" }) keymap.set("v", "0", "$", { desc = "jump to end of line" }) --make yanking and deleting whole words more logical keymap.set("n", "yw", "yiw", { desc = "Yanks current word under cursor" }) keymap.set("n", "ye", "yw", { desc = "Yanks from cursor placement to the end of the word" }) --make yanking and deleting whole words more logical keymap.set("v", "yw", "yiw", { desc = "Yanks current word under cursor" }) keymap.set("v", "ye", "yw", { desc = "Yanks from cursor placement to the end of the word" }) --make yanking and deleting whole words more logical keymap.set("n", "dw", "diw", { desc = "Deletes current word under cursor" }) keymap.set("n", "de", "dw", { desc = "Deletes from cursor placement to the end of the word" }) --make yanking and deleting whole words more logical keymap.set("v", "dw", "diw", { desc = "Deletes current word under cursor" }) keymap.set("v", "de", "dw", { desc = "Deletes from cursor placement to the end of the word" }) -- clear search highlights keymap.set("n", "nh", ":nohl", { desc = "Clear search highlights" }) -- fix control V keymap --keymap.set("n","vl","C-v", { desc = "visual in start of line"} ) -- delete single character without copying into register -- keymap.set("n", "x", '"_x') -- increment/decrement numbers keymap.set("n", "+", "", { desc = "Increment number" }) -- increment keymap.set("n", "-", "", { desc = "Decrement number" }) -- decrement -- window management keymap.set("n", "sv", "v", { desc = "Split window vertically" }) -- split window vertically keymap.set("n", "sh", "s", { desc = "Split window horizontally" }) -- split window horizontally keymap.set("n", "se", "=", { desc = "Make splits equal size" }) -- make split windows equal width & height keymap.set("n", "sx", "close", { desc = "Close current split" }) -- close current split window keymap.set("n", "to", "tabnew", { desc = "Open new tab" }) -- open new tab keymap.set("n", "tx", "tabclose", { desc = "Close current tab" }) -- close current tab keymap.set("n", "tn", "tabn", { desc = "Go to next tab" }) -- go to next tab keymap.set("n", "tp", "tabp", { desc = "Go to previous tab" }) -- go to previous tab keymap.set("n", "tf", "tabnew %", { desc = "Open current buffer in new tab" }) -- move current buffer to new tab keymap.set("n", "[", "}", { desc = "next paragraph down" }) keymap.set("n", "]", "{", { desc = "next paragraph up" }) --terminal mode keymap keymap.set("t", "jk", "") --set focus back to opened file keymap.set("n", "fe", "l", { noremap = true, silent = true }) keymap.set("n", "vb", "", { desc = "visual block because control v is used by paste" }) --refactor keymaps keymap.set("x", "re", ":Refactor extract ") keymap.set("x", "rf", ":Refactor extract_to_file ") keymap.set("x", "rv", ":Refactor extract_var ") keymap.set({ "n", "x" }, "ri", ":Refactor inline_var") keymap.set("n", "rI", ":Refactor inline_func") keymap.set("n", "rb", ":Refactor extract_block") keymap.set("n", "rbf", ":Refactor extract_block_to_file")