folke/which-key.nvim

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

View on GitHub ↗Jump to charts ↓

Summary Information

Updated 51 minutes ago
Added to GitGenius on September 9th, 2026
Created on April 28th, 2021
Open Issues & Pull Requests: 40 (+0)
GitHub issues: Enabled
Number of forks: 263
Total Stargazers: 7,285 (+0)
Total Subscribers: 16 (+0)

Repository Insights (GitGenius)

Most active contributors

Sign in to see contributor activity.

Related repositories by overlapping contributors

No overlapping-contributor repos identified yet.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 6
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 370 days
Stale 30+ days: 0
Stale 90+ days: 0

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug (92)
  • stale (88)
  • enhancement (34)
  • wontfix (19)

Detailed Description

which-key.nvim is a Neovim plugin that displays available keybindings in a popup menu as you type, helping users remember their custom key mappings.

The plugin solves the problem of keymap discovery and recall in Neovim by showing a visual popup that lists all available keybindings matching what you've typed so far. It works across multiple modes including normal, insert, visual, operator pending, terminal, and command mode, with each mode independently configurable. The tool automatically extracts keymap descriptions from the desc attribute of keymaps, requiring minimal additional configuration for most use cases. Users can also define custom mapping specifications to add group descriptions and virtual mappings that don't correspond to actual keybindings.

The plugin suits developers who maintain extensive custom keybinding configurations and want to reduce cognitive load when recalling less-frequently-used commands. It works well for anyone building a personalized Neovim setup with many leader-key bindings or mode-specific shortcuts. The tool offers three layout presets—classic, modern, and helix—plus full customization of window appearance and behavior. It includes built-in plugins for marks, registers, presets, and spelling suggestions, and provides help for operators, motions, and text objects. A hydra mode feature keeps the popup open until escape is pressed, allowing rapid sequential command execution. Icon support integrates with mini.icons and nvim-web-devicons for visual enhancement.

The project maintains active development with regular updates addressing user-reported issues and feature requests. The codebase shows responsiveness to configuration edge cases and mode-specific behavior refinements. Documentation includes a health check command for troubleshooting, indicating attention to user onboarding and problem diagnosis. The plugin demonstrates ongoing refinement of sorting options, layout customization, and integration with the broader Neovim plugin ecosystem.