vim.keymap.set("v", "J", ":m '>+1gv=gv", { desc = "Moves Line Down" }) vim.keymap.set("v", "K", ":m '<-2gv=gv", { desc = "Moves Line Up" }) vim.keymap.set("n", "", "zz", { desc = "Scroll Down" }) vim.keymap.set("n", "", "zz", { desc = "Scroll Up" }) vim.keymap.set("n", "n", "nzzzv", { desc = "Next Search Result" }) vim.keymap.set("n", "N", "Nzzzv", { desc = "Previous Search Result" }) vim.keymap.set("n", "[", "bprev", { desc = "Previous buffer" }) vim.keymap.set("n", "]", "bnext", { desc = "Next buffer" }) vim.keymap.set("n", "l", "b#", { desc = "Last buffer" }) vim.keymap.set("n", "d", "bdelete", { desc = "delete buffer" }) -- Remap for dealing with word wrap vim.keymap.set("n", "k", "v:count == 0 ? 'gk' : 'k'", { expr = true, silent = true }) vim.keymap.set("n", "j", "v:count == 0 ? 'gj' : 'j'", { expr = true, silent = true }) -- Diagnostic keymaps vim.keymap.set("n", "e", vim.diagnostic.open_float, { desc = "Open floating diagnostic message" }) vim.keymap.set("n", "q", vim.diagnostic.setloclist, { desc = "Open diagnostics list" }) vim.keymap.set({ "v", "x", "n" }, "y", '"+y', { noremap = true, silent = true, desc = "Yank to clipboard" }) vim.keymap.set( { "n", "v", "x" }, "Y", '"+yy', { noremap = true, silent = true, desc = "Yank line to clipboard" } ) vim.keymap.set({ "n", "v", "x" }, "p", '"+p', { noremap = true, silent = true, desc = "Paste from clipboard" }) vim.keymap.set( "i", "", "+", { noremap = true, silent = true, desc = "Paste from clipboard from within insert mode" } ) vim.keymap.set( "x", "P", '"_dP', { noremap = true, silent = true, desc = "Paste over selection without erasing unnamed register" } )