-- stylua: ignore start -- QoL normalization's vim.keymap.set("n", "Q", "", {}) vim.keymap.set({ "n", "v" }, "", "", { desc = "Prevent cursor movement", silent = true }) vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { desc = "Move cursor regardless of word wrap", expr = true, silent = true }) vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { desc = "Move cursor regardless of word wrap", expr = true, silent = true }) vim.keymap.set("n", "J", "mzJ`z", { desc = "Keep cursor in column while joining lines", silent = true }) -- vim.keymap.set("n", "", "zz", { desc = "Keep cursor centered while junping", silent = true }) -- vim.keymap.set("n", "", "zz", { desc = "Keep cursor centered while junping", silent = true }) -- vim.keymap.set("n", "n", "nzzzv", { desc = "Keep cursor centered while searching", silent = true }) -- vim.keymap.set("n", "N", "Nzzzv", { desc = "Keep cursor centered while searching", silent = true }) -- Utils vim.keymap.set("n", "|", ":vs", { desc = "Create vsplit", silent = true }) vim.keymap.set("n", "°", ":sp", { desc = "Create split", silent = true }) vim.keymap.set("v", "p", [["_dP]], { desc = "Paste without lossing yanked text", silent = true }) vim.keymap.set("n", "uh", ":nohl", { desc = "Remove search highlight", silent = true }) -- Buffer manipulation vim.keymap.set("n", "bc", "bd", { desc = "Close buffer", silent = true }) vim.keymap.set("n", "bh", "bp", { desc = "Prev buffer", silent = true }) vim.keymap.set("n", "bl", "bn", { desc = "Next buffer", silent = true }) vim.keymap.set("n", "bA", "bufdo bd", { desc = "Close all buffers", silent = true }) vim.keymap.set("n", "", "h", { desc = "Move to left window", silent = true }) vim.keymap.set("n", "", "j", { desc = "Move to bottom window", silent = true }) vim.keymap.set("n", "", "k", { desc = "Move to top window", silent = true }) vim.keymap.set("n", "", "l", { desc = "Move to right window", silent = true }) -- stylua: ignore end