--isable v -- local presets = require("which-key.plugins.presets") -- presets.operators["v"] = nil require("which-key").setup { plugins = { marks = true, -- shows a list of your marks on ' and ` registers = true, -- shows your registers on " in NORMAL or in INSERT mode spelling = { enabled = true, -- enabling this will show WhichKey when pressing z= to select spelling suggestions suggestions = 20 -- how many suggestions should be shown in the list? }, -- the presets plugin, adds help for a bunch of default keybindings in Neovim -- No actual key bindings are created presets = { operators = true, -- adds help for operators like d, y, ... and registers them for motion / text object completion motions = true, -- adds help for motions text_objects = true, -- help for text objects triggered after entering an operator windows = true, -- default bindings on nav = true, -- misc bindings to work with windows z = true, -- bindings for folds, spelling and others prefixed with z g = true -- bindings for prefixed with g } }, -- add operators that will trigger motion and text object completion -- to enable all native operators, set the preset / operators plugin above operators = {gc = "Comments"}, key_labels = { -- override the label used to display some keys. It doesn't effect WK in any other way. -- For example: -- [""] = "SPC", -- [""] = "RET", -- [""] = "TAB", }, icons = { breadcrumb = "»", -- symbol used in the command line area that shows your active key combo separator = "➜", -- symbol used between a key and it's label group = "+" -- symbol prepended to a group }, window = { border = "none", -- none, single, double, shadow position = "bottom", -- bottom, top margin = {1, 0, 1, 0}, -- extra window margin [top, right, bottom, left] padding = {2, 2, 2, 2} -- extra window padding [top, right, bottom, left] }, layout = { height = {min = 4, max = 25}, -- min and max height of the columns width = {min = 20, max = 50}, -- min and max width of the columns spacing = 3, -- spacing between columns align = "left" -- align columns left, center or right }, ignore_missing = false, -- enable this to hide mappings for which you didn't specify a label hidden = { "", "", "", "", "", "call", "lua", "require", "^:", "^ " }, -- hide mapping boilerplate show_help = true, -- show help message on the command line when the popup is visible triggers = "auto", -- automatically setup triggers -- triggers = {""} -- or specify a list manually triggers_blacklist = { -- list of mode / prefixes that should never be hooked by WhichKey -- this is mostly relevant for key maps that start with a native binding -- most people should not need to change this i = {"j", "k"}, v = {"j", "k"} } } local wk = require("which-key") default_options = {noremap = true, silent = true} -- register non leader based mappings --wk.register({ga = {"(EasyAlign)", "Align", mode = "x"}}) -- Register all leader based mappings local wk = require("which-key") -- As an example, we will create the following mappings: -- * ff find files -- * fr show recent files -- * fb Foobar -- we'll document: -- * fn new file -- * fe edit file -- and hide 1 wk.register({ [""] = { b = { name = "Buffers", b = { "lua require'telescope.builtin'.buffers({ sort_mru = true, ignore_current_buffer = true })", "Find buffer" } }, g = { name = "Git", c = { "Neogit Commit", "Git Commit" }, g = { "Neogit", "Open NeoGit" }, p = { " Neogit Push" } }, f = { name = "File", f = { "Telescope find_files", "Find File" }, r = { "Telescope oldfiles", "Open Recent File" }, n = { "enew", "New File" }, }, }, s = { name = "Search", c = {"Telescope colorscheme", "Colorscheme" } } })