-- Universal Operations -- n => new/create -- q => quit/close -- s => save/write -- x => exit (save&quit) -- d => delete/remove -- r => rename/reload/refresh -- o => open -- a => add -- A => all -- e => edit -- t => toggle -- h/l => previous/next -- j/k => last/first local map = vim.keymap.set -- Leader Key Groups map("n", "b", "", { desc = "+buffers" }) map("n", "c", "", { desc = "+code" }) map("n", "d", "", { desc = "+diagnostics" }) map("n", "e", "", { desc = "+file actions" }) map("n", "f", "", { desc = "+find" }) map("n", "g", "", { desc = "+git" }) map("n", "l", "", { desc = "+lazy" }) map("n", "m", "", { desc = "+movement" }) map("n", "s", "", { desc = "+search" }) map("n", "t", "", { desc = "+tabs" }) map("n", "u", "", { desc = "+ui" }) map("n", "w", "", { desc = "+windows" }) map("n", "x", "", { desc = "+quickfix" }) -- MacOs Style map({ "n", "i", "v", "s" }, "", "w", { desc = "Save File" }) map("n", "", "u", { desc = "Undo" }) map("n", "", "", { desc = "Redo" }) map("n", "", "ggG", { desc = "Select all" }) map("n", "", "j", { desc = "Clear search highlight" }) -- Window map("n", "wh", "h", { desc = "Go to left window" }) map("n", "wj", "j", { desc = "Go to lower window" }) map("n", "wk", "k", { desc = "Go to upper window" }) map("n", "wl", "l", { desc = "Go to right window" }) map("n", "w|", "v", { desc = "Split vertically" }) map("n", "w-", "s", { desc = "Split horizontally" }) map("n", "wq", "c", { desc = "Close window" }) map("n", "wQ", "o", { desc = "Close other windows" }) map("n", "w=", "=", { desc = "Equal width/height" }) map("n", "ww", "w", { desc = "Switch windows" }) map("n", "", "vertical resize -2", { desc = "Decrease width" }) map("n", "", "vertical resize +2", { desc = "Increase width" }) map("n", "", "resize -2", { desc = "Decrease height" }) map("n", "", "resize +2", { desc = "Increase height" }) -- Buffer map("n", "bA", "buffers", { desc = "List buffers" }) map("n", "bh", "bprevious", { desc = "Previous buffer" }) map("n", "bl", "bnext", { desc = "Next buffer" }) map("n", "bk", "bfirst", { desc = "First buffer" }) map("n", "bj", "blast", { desc = "Last buffer" }) map("n", "bd", "bdelete", { desc = "Delete buffer" }) map("n", "bk", "bprevious", { desc = "Previous buffer" }) -- Tabs map("n", "tn", "tabnew", { desc = "New Tab" }) map("n", "tq", "tabclose", { desc = "Close tab" }) map("n", "tk", "tabfirst", { desc = "First tab" }) map("n", "tj", "tabfirst", { desc = "Last tab" }) map("n", "th", "tabprevious", { desc = "Previous tab" }) map("n", "tl", "tabnext", { desc = "Next tab" }) -- File Actions map("n", "en", "enew", { desc = "New file" }) map("n", "eq", "q", { desc = "Quit file" }) map("n", "eQ", "qa!", { desc = "Quit all" }) map("n", "ex", "wq", { desc = "Save + quit file" }) -- Lazy map("n", "ll", "Lazy", { desc = "Lazy Plugin Manager" }) -- UI map("n", "uw", "set wrap!", { desc = "Toggle word wrap" }) map("n", "un", "set number!", { desc = "Toggle line numbers" }) map("n", "ur", "set relativenumber!", { desc = "Toggle relative number" }) -- Quickfixes map("n", "xl", "cnext", { desc = "Next quickfix" }) map("n", "xh", "cprev", { desc = "Previous quickfix" }) map("n", "xo", "copen", { desc = "Open quickfix" }) map("n", "xq", "cclose", { desc = "Close quickfix" }) -- Movement map("n", "j", "gj", { desc = "Move down (Wrapped Line)" }) map("n", "k", "gk", { desc = "Move up (Wrapped Line)" }) map("n", "mj", "m .+1==", { desc = "Move line down" }) map("n", "mk", "m .-2==", { desc = "Move line up" }) map("n", "mh", "{", { desc = "Previous paragraph" }) map("n", "ml", "}", { desc = "Next paragraph" }) map("v", "mj", ":m '>.+1gv=gv", { desc = "Move selection down" }) map("v", "mk", ":m '<-2gv=gv", { desc = "Move selection up" }) -- Identing map("v", "<", "", ">gv", { desc = "Indent right" }) map("v", "", ">gv", { desc = "Indent right" }) map("v", "", "?", "Cheatsheet", { desc = "Show cheatsheet" }) -- Search for selection map("v", "//", 'y/\\V=escape(@",\'/\\\')', { desc = "Search selection" })