local wk = require("which-key") local telescope = require('telescope.builtin') local marks = require('marks') -- the leader key is wk.add({ -- Telescope { "f", group = "Telescope" }, { "ff", telescope.find_files, desc = "Find files", mode = "n" }, { "fg", telescope.live_grep, desc = "Live grep", mode ="n"}, { "fb", telescope.buffers, desc = "Find in buffers", mode ="n"}, { "fc", telescope.current_buffer_fuzzy_find, desc = "Find in current buffer", mode ="n"}, { "fh", telescope.help_tags, desc = "Find in help tags", mode ="n"}, { "fm", telescope.marks, desc = "Find in marks", mode ="n"}, { "fr", telescope.resume, desc = "Resume last find", mode ="n"}, -- LspSaga { "l", group = "Lspsaga" }, { "lc", "Lspsaga code_action", desc = "Code Action", mode ="n"}, { "lo", "Lspsaga outline", desc = "Outline", mode ="n"}, { "lr", "Lspsaga rename", desc = "Rename", mode ="n"}, { "ld", "Lspsaga goto_definition", desc = "Lsp GoTo Definition", mode ="n"}, { "lf", "Lspsaga finder", desc = "Lsp Finder", mode ="n"}, { "lp", "Lspsaga preview_definition", desc = "Preview Definition", mode ="n"}, { "ls", "Lspsaga signature_help", desc = "Signature Help", mode ="n"}, { "lw", "Lspsaga show_workspace_diagnostics", desc = "Show Workspace Diagnostics", mode ="n"}, -- UndoTree { "u", group = "UndoTree" }, { "uu", "lua require('undotree').toggle()", desc="Toggle undo tree", mode ="n"}, -- TagBar { "", ":TagbarToggle fj", desc="Toggle tagbar", mode ="n"}, -- Custom { "n", ":noh", desc="Remove highlight", mode = "n"}, -- Jump to definition in new tab { "", "tab split | lua vim.lsp.buf.definition()", desc="Definition in new tab", mode = "n"}, -- See error in diagnostic window { "e", "lua vim.diagnostic.open_float()", desc="See diagnostic", mode = "n"}, -- Closing stuff { "Z", group = "Closing"}, { "ZZ", "wq!", desc = "Write en close", mode = "n"}, { "ZQ", "q!", desc = "Close without write", mode = "n"}, -- Marks { "m", group = "Marks"}, { "mx", marks.set, desc = "Set mark [x]", mode = "n"}, { "m,", marks.set_next, desc = "Set the next available alphabetical (lowercase) mark", mode = "n"}, { "m;", marks.toggle, desc = "Toggle the next available mark at the current line", mode = "n"}, { "dmx", marks.delete, desc = "Delete mark x", mode = "n"}, { "dm-", marks.delete_line, desc = "Delete all marks on the current line", mode = "n"}, { "dm", marks.delete_buf, desc = "Delete all marks in the current buffer", mode = "n"}, { "m]", marks.next, desc = "Move to next mark", mode = "n"}, { "m[", marks.prev, desc = "Move to previous mark", mode = "n"}, { "m:", marks.preview, desc = "Preview mark. This will prompt you for a specific mark to preview; press to preview the next mark.", mode = "n"}, { "m[0-9]", marks.set_bookmark, desc = "Add a bookmark from bookmark group[0-9].", mode = "n"}, { "dm[0-9]", marks.delete_bookmark, desc = "Delete all bookmarks from bookmark group[0-9].", mode = "n"}, { "m}", marks.next_bookmark, desc = "Move to the next bookmark having the same type as the bookmark under the cursor. Works across buffers.", mode = "n"}, { "m{", marks.prev_bookmark, desc = "Move to the previous bookmark having the same type as the bookmark under the cursor. Works across buffers.", mode = "n"}, { "dm=", marks.delete_bookmark, desc = "Delete the bookmark under the cursor.", mode = "n"}, -- Git { "h", group = "Git"}, -- Diagnostics { "h", group = "Code Diagnostics"}, -- Diagnostics { "t", group = "Tabs"}, { "tf", "tabm 0", desc = "Move before first tab", mode = "n"}, { "tl", "tabm", desc = "Move after last tab", mode = "n"}, { "t,", "tabm -", desc = "Move tab to left", mode = "n"}, { "t.", "tabm +", desc = "Move tab to right", mode = "n"}, { "tn", "tabnext", desc = "Go to next tab", mode = "n"}, { "tp", "tabprevious", desc = "Go to previous tab", mode = "n"}, { "tb", "tabrewind", desc = "Go to first tab", mode = "n"}, { "te", "tablast", desc = "Go to last tab", mode = "n"}, }) -- prevent using arrow keys or mouse vim.keymap.set('n', '', ':echoe "Yo retard use h"') vim.keymap.set('n', '', ':echoe "Yo retard use l"') vim.keymap.set('n', '', ':echoe "Yo retard use k"') vim.keymap.set('n', '', ':echoe "Yo retard use j"') vim.opt.mouse = '' -- dont automatically jump when searching vim.keymap.set('n', '*', '*```') -- show lsp floating tooltip vim.keymap.set('n', '', ':lua vim.lsp.buf.hover()') -- tab navigation using vim.keymap.set('n', '', ':tabnext') vim.keymap.set('n', '', ':tabprevious') -- quick close tab USE ZQ --vim.keymap.set('n', '', ':tabclose') -- jump to definition in new tab vim.keymap.set('n', '', 'tab split | lua vim.lsp.buf.definition()', {}) -- change split window vim.keymap.set('n', '', ':wincmd k') vim.keymap.set('n', '', ':wincmd j') vim.keymap.set('n', '', ':wincmd h') vim.keymap.set('n', '', ':wincmd l') -- move split to tab vim.keymap.set('n', '', ':tab split') -- open context menu vim.keymap.set("n", "", function() require("menu").open("default") end, {})