return { "folke/which-key.nvim", event = "VeryLazy", opts = { icons = { mappings = false }, }, keys = { { ".", "Telescope find_files", desc = "Find file in dir", mode = "n" }, { "", "Telescope git_files", desc = "Find git file", mode = "n" }, { "B", "Telescope buffers", desc = "Opens buffers", mode = "n" }, { "b", group = "buffer", mode = "n" }, { "b,", "BufferMovePrevious", desc = "Move buffer back", mode = "n" }, { "b.", "BufferMoveNext", desc = "Move buffer forward", mode = "n", }, { "bD", "BufferCloseAllButCurrent", desc = "Delete all buffers but current", mode = "n", }, { "bd", "BufferClose", desc = "Delete current buffer", mode = "n", }, { "bh", "BufferPrevious", desc = "Go to previous buffer", mode = "n", }, { "bl", "BufferNext", desc = "Go to next buffer", mode = "n", }, { "bp", "BufferPick", desc = "Pick a buffer", mode = "n" }, { "bx", "BufferCloseAllButPinned", desc = "Delete all buffers", mode = "n", }, { "c", group = "code", mode = "n" }, { "ca", ":lua vim.lsp.buf.code_action()", desc = "Code actions", mode = "n" }, { "cd", ":lua require'telescope.builtin'.diagnostics{}", desc = "Show diagnostics", mode = "n" }, { "cf", ":lua require'telescope.builtin'.builtin.lsp_references{}", desc = "Show references", mode = "n", }, { "q", "wq", desc = "Close window and buffer", mode = "n", }, { "f", group = "file", mode = "n" }, { "fn", "enew", desc = "Create a new file", mode = "n", }, { "fr", "Telescope oldfiles", desc = "Open Recent File", mode = "n" }, { "fs", "w", desc = "Save currently opened file", mode = "n", }, { "g", group = "git", mode = "n" }, { "gb", "Gitsigns toggle_current_line_blame", desc = "Toggle git line blame", mode = "n", }, { "gg", "LazyGit", desc = "Opens lazygit", mode = "n" }, { "glo", "GitLink!", desc = "Open permalink in browser", mode = "n", }, { "gly", "GitLink", desc = "Copy permalink", mode = "n" }, { "n", "Oil --float", desc = "Open file browser", mode = "n", }, { "q", "qa!", desc = "Leave neovim", mode = "n" }, { "s", group = "search", mode = "n" }, { "sb", ":lua require'telescope.builtin'.buffers{}", desc = "Find buffer", mode = "n" }, { "ss", "Telescope live_grep", desc = "Live Grep", mode = "n" }, { "sw", "Telescope grep_string", desc = "Search current word", mode = "n", }, { "t", group = "diagnostics (lsp)", mode = "n" }, { "td", "Telescope diagnostics", desc = "Show LSP diagnostics", mode = "n", }, { "ta", "TodoQuickFix", desc = "Show all todo comments", mode = "n" }, { "tt", "TodoTelescope", desc = "Show all todo comments (Telescope)", mode = "n" }, { "w", group = "window", mode = "n" }, { "w+", ":vertical resize +4", desc = "Increase window size", mode = "n", }, { "w-", ":vertical resize -4", desc = "Decrease window size", mode = "n", }, { "wd", "q", desc = "Close active window", mode = "n", }, { "wh", "h", desc = "Move to window on left", mode = "n", }, { "wj", "j", desc = "Move to window on bottom", mode = "n", }, { "wk", "k", desc = "Move to window on top", mode = "n", }, { "wl", "l", desc = "Move to window on right", mode = "n", }, { "ws", "sp", desc = "Split windows horizontally", mode = "n", }, { "wv", "vsp", desc = "Split windows vertically", mode = "n", }, { "x", group = "config", mode = "n" }, { "xn", "set number relativenumber", desc = "Show relative numbers", mode = "n", }, { "xr", "source $MYVIMRC", desc = "Reload config", mode = "n" }, { "do", "DiffviewOpen", desc = "Open diff view", mode = "n" }, { "dh", "DiffviewFileHistory", desc = "Open file history diff", mode = "n" }, }, }