finds.dev← search

// the find

folke/which-key.nvim

★ 7,203 · Lua · Apache-2.0 · updated Oct 2025

💥 Create key bindings that stick. WhichKey helps you remember your Neovim keymaps, by showing available keybindings in a popup as you type.

which-key.nvim shows available keybindings in a popup as you type in Neovim, effectively acting as an interactive cheat sheet for your keymap. It's been around long enough to have gone through a breaking v3 rewrite and has become a de facto standard in most Neovim starter configs. Anyone building out a complex leader-key layout will find it nearly indispensable.

The v3 trigger system is genuinely better than the old approach — auto-detecting which keys have bindings and only creating triggers there avoids the ghost-keymap problem that plagued earlier versions. Hydra mode (keeping the popup open for repeat operations like window resizing) is a small feature that turns out to be very useful. The built-in plugins for marks, registers, and spelling fold three normally awkward UI surfaces into one consistent popup. The migrate.lua helper for upgrading from v2 config syntax shows the author actually thinks about upgrade paths.

The v3 API break was significant enough that the README still carries a warning about it, and plenty of older configs silently broke — if you're copying config from blog posts or dotfiles you found online, there's a real chance they're using the old spec format. The delay mechanism, while configurable, still occasionally misfires in terminal mode or with certain operator-pending sequences, showing a popup when you're mid-motion and don't want one. Documentation lives in both the README and a vimdoc file that can drift out of sync; the vimdoc feels like an afterthought. Icon support requires either mini.icons or nvim-web-devicons plus a Nerd Font — without all three, you get placeholder characters that look worse than no icons at all.

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →