local function map(mode, lhs, rhs) vim.keymap.set(mode, lhs, rhs, { silent = true }) end -- Save map("n", "w", "update") -- Quit map("n", "q", "q") -- Exit insert mode map("i", "jj", "") -- Window split map("n", "sv", "vsplit") map("n", "sh", "split") -- Window resize map("n", "", "<") map("n", "", ">") map("n", "", "+") map("n", "", "-") -- Move selected line / block of text in visual mode map("v", "J", ":m '>+1gv=gv") map("v", "K", ":m '<-2gv-gv") map("n", "J", "mzJ`z") map("n", "", "zz") map("n", "", "zz") map("n", "n", "nzzzv") map("n", "N", "Nzzzv") -- Buffer map("n", "", "bnext") map("n", "", "bprevious") map("n", "Q", "") map("n", "", "silent !tmux new tmux-sessionizer") -- LSP format map("n", "f", function() vim.lsp.buf.format() end) -- Search and replace map("n", "s", [[:%s/\<\>//gI]]) -- Reset highlight map("n", "", "noh") -- Hover documentation map("n", "K", "lua vim.lsp.buf.hover()") vim.keymap.set("n", '', vim.lsp.buf.signature_help, { desc = '[S]ignature [D]ocumentation' }) -- Go to referenece vim.keymap.set("n", "gr", require('telescope.builtin').lsp_references, { desc = '[G]oto [R]reference' }) vim.keymap.set("n", "gpd", "lua require('goto-preview').goto_preview_definition()", { noremap = true }) vim.keymap.set("n", "gpt", "lua require('goto-preview').goto_preview_type_definition()", { noremap = true }) vim.keymap.set("n", "gpi", "lua require('goto-preview').goto_preview_implementation()", { noremap = true }) vim.keymap.set("n", "gP", "lua require('goto-preview').close_all_win()", { noremap = true }) vim.keymap.set("n", "gpr", "lua require('goto-preview').goto_preview_references()", { noremap = true })