-- Shorten function name local keymap = vim.keymap.set -- Silent keymap option local opts = { silent = true } --Remap space as leader key keymap("", "", "", opts) vim.g.mapleader = " " -- Modes -- normal_mode = "n", -- insert_mode = "i", -- visual_mode = "v", -- visual_block_mode = "x", -- term_mode = "t", -- command_mode = "c", -- Kitty navigation vim.g.kitty_navigator_no_mappings = 1 keymap("n", "", ":KittyNavigateLeft") keymap("n", "", ":KittyNavigateDown") keymap("n", "", ":KittyNavigateUp") keymap("n", "", ":KittyNavigateRight") -- Better window navigation keymap("n", "", "h", opts) keymap("n", "", "j", opts) keymap("n", "", "k", opts) keymap("n", "", "l", opts) -- Resize with arrows keymap("n", "", ":resize -2", opts) keymap("n", "", ":resize +2", opts) keymap("n", "", ":vertical resize -2", opts) keymap("n", "", ":vertical resize +2", opts) -- Navigate buffers keymap("n", "", ":bnext", opts) keymap("n", "", ":bnext", opts) keymap("n", "", ":bprevious", opts) keymap("n", "", ":bprevious", opts) -- Clear highlights keymap("n", "h", "nohlsearch", opts) -- Close buffers keymap("n", "", "Bdelete!", opts) -- LSP / Diagnostics keymap("n", "xx", "TroubleToggle", opts) keymap("n", "xw", "TroubleToggle workspace_diagnostics", opts) keymap("n", "xd", "TroubleToggle document_diagnostics", opts) keymap("n", "xl", "TroubleToggle loclist", opts) keymap("n", "xq", "TroubleToggle quickfix", opts) keymap("n", "K", "Lspsaga hover_doc", opts) keymap("n", "E", "Lspsaga show_line_diagnostics", opts) keymap("n", "gd", "Lspsaga finder", opts) keymap("n", "ld", "Lspsaga goto_definition", opts) keymap("n", "la", "Lspsaga code_action", opts) keymap("n", "lj", "Lspsaga diagnostic_jump_next", opts) keymap("n", "lk", "Lspsaga diagnostic_jump_prev", opts) keymap("n", "lr", "Lspsaga rename", opts) keymap("n", "lp", "Lspsaga peek_definition", opts) keymap("n", "lf", "lua vim.lsp.buf.format{ async=true }", opts) keymap("n", "ls", "lua vim.lsp.buf.signature_help()", opts) -- Better paste keymap("v", "p", "P", opts) -- Press jk fast to enter keymap("i", "jk", "", opts) -- Stay in indent mode keymap("v", "<", "", ">gv", opts) -- NeoTree keymap("n", "e", ":Neotree toggle", opts) keymap("n", "gg", ":Neotree float git_status", opts) -- Telescope keymap("n", "ff", ":Telescope find_files", opts) keymap("n", "", ":Telescope find_files", opts) keymap("n", "fg", ":Telescope live_grep", opts) keymap("n", "fb", ":Telescope buffers", opts) keymap("n", "fc", ":Telescope commands", opts) -- Comment keymap("n", "/", "lua require'Comment.api'.toggle.linewise.current()", opts) keymap("x", "/", "lua require'Comment.api'.toggle.linewise(vim.fn.visualmode())", opts) -- Gitdiff keymap("n", "df", ":DiffviewFileHistory %", opts) keymap("n", "dc", ":DiffviewClose", opts) -- Projects keymap("n", "fp", ":Telescope neovim-project discover", opts) -- Base64 keymap("v", "64e", ":lua require'b64'.encode()", opts) keymap("v", "64d", ":lua require'b64'.decode()", opts) -- Illuminate keymap("n", "", "lua require'illuminate'.next_reference{wrap=true}", { noremap = true }) keymap("n", "", "lua require'illuminate'.next_reference{reverse=true,wrap=true}", { noremap = true }) -- Folding keymap("n", "zR", "lua require'ufo'.openAllFolds()", { desc = "Open all folds" }) keymap("n", "zM", "lua require'ufo'.closeAllFolds()", { desc = "Close all folds" }) keymap("n", "zr", "lua require'ufo'.openFoldsExceptKinds()", { desc = "Fold less" }) keymap("n", "zm", "lua require'ufo'.closeFoldsWith()", { desc = "Fold more" }) keymap("n", "zp", "lua require'ufo'.peekFoldedLinesUnderCursor()", { desc = "Peek fold" })