local wk = require("which-key") local builtin = require('telescope.builtin') -- the leader key is -- telescope wk.add({ { "f", group = "Telescope" }, { "ff", builtin.find_files, desc = "Find files", mode = "n" }, { "fg", builtin.live_grep, desc = "Live grep", mode ="n"}, { "fb", builtin.buffers, desc = "Find in buffers", mode ="n"}, { "fc", builtin.current_buffer_fuzzy_find, desc = "Find in current buffer", mode ="n"}, { "fh", builtin.help_tags, desc = "Find in help tags", mode ="n"}, { "fm", builtin.marks, desc = "Find in marks", mode ="n"}, { "fr", builtin.resume, desc = "Resume last find", mode ="n"}, }) -- lspsaga wk.add({ { "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"}, }) -- clear searchterm vim.keymap.set('n', '', ':noh') -- 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()') -- toggle tagbar plugin vim.keymap.set('n', '', ':TagbarToggle fj') -- tab navigation using vim.keymap.set('n', '', ':tabnext') vim.keymap.set('n', '', ':tabprevious') -- quick close tab 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, {})