-- 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 lsp_finder", opts) keymap("n", "ld", "Lspsaga lsp_finder", 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) -- Projections keymap("n", "fp", ":Telescope projections", 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 })