local set = vim.keymap.set set("n", ":", "FineCmdline", { noremap = true }) set("v", "J", ":m '>+1gv=gv") set("v", "K", ":m '<-2gv=gv") set("n", "J", "mzJ`z") set("n", "", "zz") set("n", "", "zz") set("n", "n", "nzzzv") set("n", "N", "Nzzzv") -- greatest remap ever -- set("x", "p", [["_dP]]) -- next greatest remap ever : asbjornHaland set({ "n", "v" }, "y", [["+y]], { desc = "Yank in to sys clipboard" }) set("n", "P", [["+p]], { desc = "Paste from sys clipboard" }) set({ "n", "v" }, "d", [["_d]], { desc = "Actually deletes text" }) set("n", "Q", "") set("n", "bf", vim.lsp.buf.format, { desc = "Formate buffer" }) set("n", "bs", ":write ", { desc = "Save buffer" }) set("n", "bt", ":ToggleTerm direction=float ", { desc = "Open terminal" }) set("n", "bT", ":ToggleTerm direction=horizontal ", { desc = "Open horizontal terminal split" }) set("n", "", ":BufferLineCycleNext ", { desc = "Cycle tabs" }) set("n", "bn", ":BufferLineCycleNext ", { desc = "Next tab" }) set("n", "bp", ":BufferLineCyclePrev ", { desc = "NextPrevious tab" }) set("n", "", "cnextzz") set("n", "", "cprevzz") set("n", "k", "lnextzz") set("n", "j", "lprevzz") set( "n", "s", [[:%s/\<\>//gI]], { desc = "Replace all instances of the word on cursor" } ) set("n", "", function() vim.cmd("so") end, { desc = "Source current file" }) -- window movement set("n", "ww", "w", { desc = "Move between splits" }) set("n", "wc", "c", { desc = "Close split" }) set("n", "wv", "v", { desc = "Vertical split" }) set("n", "ws", "s", { desc = "Horizontal split" }) -- Packer set("n", "pu", ":PackerUpdate ") set("n", "ps", ":PackerSync ") set("n", "pc", ":PackerClean ") set("n", "po", ":PackerCompile ") -- nvim-tree set("n", "n", ":NvimTreeToggle ") set("n", "e", ":NvimTreeFocus ") set("n", "r", ":NvimTreeRefresh ") vim.keymap.set("n", "tr", function () require("nvim-tree.api").tree.change_root(vim.fn.getcwd()) end, {desc = "Change root dir to current dir"} ) -- trouble set("n", "tt", "TroubleToggle ", { silent = true }) -- markdown preview set("n", "bm", "MarkdownPreviewToggle ", { silent = true }) -- neogit set("n", "gg", "Neogit ", { silent = true })