vim.g.mapleader = " " local nv = {"n", "v"} vim.keymap.set(nv, "gm", "gM", {}) vim.keymap.set(nv, "gM", "gMi", {}) -- Moving between windows vim.keymap.set(nv, "", "h", {}) vim.keymap.set(nv, "", "j", {}) vim.keymap.set(nv, "", "k", {}) vim.keymap.set(nv, "", "l", {}) -- Same, but for terminal vim.keymap.set("t", "", "h", {}) vim.keymap.set("t", "", "j", {}) vim.keymap.set("t", "", "k", {}) vim.keymap.set("t", "", "l", {}) -- Moving windows vim.keymap.set(nv, "h", "H", {}) vim.keymap.set(nv, "j", "J", {}) vim.keymap.set(nv, "k", "K", {}) vim.keymap.set(nv, "l", "L", {}) -- Resizing windows vim.keymap.set(nv, "", "-", {}) vim.keymap.set(nv, "", "+", {}) vim.keymap.set(nv, "", "<", {}) vim.keymap.set(nv, "", ">", {}) -- Make exiting insert mode in terminal mode easier vim.keymap.set("t", "", "", {}) -- Center when moving around at high speeds vim.keymap.set(nv, "", "zz", {}) vim.keymap.set(nv, "", "zz", {}) vim.keymap.set(nv, "G", "Gzz", {}) -- Make going to the end of a line as easy as going to the beginning vim.keymap.set({"n", "v", "o"}, "+", "$", {}) -- Allow yanking to system clipboard vim.keymap.set(nv, "y", "\"+y", {}) vim.keymap.set(nv, "p", "\"+p", {}) -- Commands vim.keymap.set(nv, "c", "set invhlsearch", {silent=true}) vim.keymap.set(nv, "e", "Oil", {silent=true}) vim.keymap.set(nv, "t", function() vim.cmd("split") vim.cmd("term") end, {silent=true}) -- Common typo with me vim.api.nvim_create_user_command("W", "w", {bang=true}) vim.api.nvim_create_user_command("Wa", "wa", {bang=true}) vim.api.nvim_create_user_command("Wq", "wq", {bang=true}) vim.api.nvim_create_user_command("Wqa", "wqa", {bang=true}) vim.api.nvim_create_user_command("Q", "q", {bang=true}) vim.api.nvim_create_user_command("Qa", "qa", {bang=true})