30 open-source projects similar to folke/which-key.nvim, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Which Key.nvim alternative.
mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation, user interface, and text manipulation tools. It serves as a modular plugin collection, a UI toolkit for creating custom statuslines and notifications, and a package manager for installing and pinning external plugins from Git. The project provides a specialized fuzzy picker framework for filtering files and symbols, an LSP completion engine with interactive snippet expansion, and a dedicated plugin test framework that uses headless editor instances and remote procedure calls
vim-which-key is a Vim plugin that displays available keyboard shortcuts and nested prefixes in an interactive popup window for easier command discovery. It serves as an interactive guide that helps users navigate editor keybindings and remember complex command mappings through visual menus. The plugin provides capabilities for Vim keybinding discovery, Vim plugin configuration, and Vim shortcut organization. Users can organize shortcuts into groups, configure custom group names, and display available keybindings in an interactive popup. Additional functionality includes labeling shortcuts d
Vim-clap is a high-performance fuzzy selection interface and command palette designed for Vim and NeoVim. It functions as an extensible plugin that enables rapid navigation of files, buffers, and project resources by offloading heavy search and filtering computations to an external background process. The project distinguishes itself through a pluggable provider architecture that allows developers to define custom search sources using external scripts or binaries. By decoupling the selection interface from the underlying fuzzy matching logic, it supports both built-in algorithms and high-perf
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
Neorg is a knowledge management framework for Neovim designed for organizing notes, tasks, and structured data using a custom hierarchical text format. It functions as a personal knowledge base and a system for generating structured text documents. The framework integrates project management and time tracking directly into the editor environment. It enables the creation of typeset documents and professional slideshow presentations by converting raw structured text into formatted visual layouts. The system covers a broad range of productivity capabilities, including personal knowledge managem
This project is a comprehensive productivity guide and configuration reference for the VS Code editor. It provides a curated collection of shortcuts, configuration tips, and tutorials designed to improve efficiency and optimize the daily coding workflow. The resource covers advanced AI-assisted development, including the integration of autonomous agents, custom prompt files, and AI-powered coding assistants for task automation and code generation. It also provides specialized guidance on integrated terminal management, such as configuring shell profiles and automating command execution. Addi
Tolaria is a markdown knowledge base manager and bidirectional note linking system. It functions as an integrated environment for organizing notes and structured data, utilizing YAML frontmatter and wikilinks to establish relational mappings between documents. The project distinguishes itself by integrating language model capabilities directly into the editor for content generation and analysis. It further combines prose with structured data through a markdown spreadsheet editor that renders CSV-formatted files as interactive grids with formula support and cross-sheet referencing. The platfo
nvim-autopairs is a Lua-based extension for Neovim that automatically inserts closing brackets, quotes, and keywords to maintain balanced syntax. It functions as a contextual bracket automator, utilizing Tree-Sitter structural nodes to determine when to insert or skip closing characters based on the code's actual syntax tree. The plugin distinguishes itself by using Tree-Sitter awareness to prevent inserting pairs inside strings or comments. It supports dynamic closing string resolution and custom pairing logic, allowing users to define specific rules using regular expressions and filetype fi
kanagawa.nvim is a Lua-based colorscheme for NeoVim that provides a high-contrast visual theme based on a traditional Japanese art color palette. It functions as a comprehensive styling system for the editor, applying semantic syntax highlighting to code structures and plugins. The project features a system for switching between different lighting variants, such as warm, deep dark, and light modes. It includes utilities for customizing specific palette colors and highlight groups, as well as the ability to export color definitions to external terminal emulators and shells for cross-applicatio
kbar is a React command palette library that gives applications a searchable overlay for finding and executing commands using the keyboard. It includes keyboard shortcut binding, so users can trigger commands directly without opening the palette, and supports nested sub-menu navigation, allowing actions to be organized into hierarchical groups that can be drilled into and back out of with arrow keys. The library differentiates itself through a hook-based API that lets any React component register commands and shortcuts declaratively, alongside a global keyboard listener that handles palette a
windsurf.vim is an AI-driven development tool for Vim and Neovim that integrates AI-powered code completion, a conversational coding assistant, and autonomous agent orchestration. It enables users to receive real-time code suggestions and perform complex refactoring via natural language instructions directly within the editor. The project provides a system for dispatching and monitoring multiple AI agents to execute engineering tasks across local and cloud environments. It includes context-aware project analysis by indexing the local codebase and supports shared workspace management to mainta
copilot.lua is a Lua-based Neovim plugin that integrates GitHub Copilot to provide an AI code completion engine. It delivers real-time ghost text and inline suggestions within the editor, utilizing a Neovim LSP client to manage communication and buffer-specific activations. The project handles GitHub account integration through token-based authentication and corporate instance support. It allows for the management of AI models and the configuration of language server protocols to authorize and customize service access. The system covers AI coding assistance through predictive edit suggestion
opencode.nvim is a Neovim plugin that integrates large language model capabilities for code generation, refactoring, and automated diagnostic analysis. It connects the editor to local or remote AI servers to execute coding tasks and manage conversation history. The system features a side-by-side diff interface for reviewing and accepting AI-generated code changes and a prompt builder that injects real-time editor data, such as buffer contents and selections, into instructions. It also functions as an extension to explain code diagnostics and trigger editor actions via a backend server. The p
todo-comments.nvim is a Neovim plugin and codebase task navigator that highlights and manages task keywords within code comments. It functions as a Lua-based highlighter and workflow extension that aggregates pending work and notes from source code into a searchable project list. The plugin provides visual tracking of task comments using custom syntax highlighting and allows for jumping between these markers within a file. It enables project-wide task management by searching for tagged comments across multiple files to organize a development roadmap.
toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor. The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identi
noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and popup-menu interfaces with a modern, customizable floating-window system. It provides a command-line popup menu, an LSP progress viewer, a message routing framework, and a notification display system with configurable layouts and severity-based styling. The plugin routes Neovim messages to different visual containers based on event type, kind, or content, and displays notifications with customizable layouts, icons, and severity-based styling in floating windows. It visualizes ongoin
This project is a configuration framework for Neovim that acts as a client for the Language Server Protocol. It bridges the gap between the text editor and external language analysis tools, enabling the integration of real-time diagnostics, intelligent code completion, and automated refactoring directly into the development environment. The framework provides a standardized interface for managing the lifecycle of external language servers as independent background processes. By utilizing a Lua-based configuration layer, it allows users to define server-specific settings and initialization opt
This is a code folding plugin for Neovim that manages foldable code blocks to reduce visual clutter and organize long source files. It functions as a folding provider and visualizer that leverages Language Server Protocol data and indentation patterns to identify and hide logical code sections. The plugin distinguishes itself through the ability to preview collapsed content in floating windows without expanding the fold. It also provides extensive visual customization for folded regions, including the use of virtual text indicators and custom markers to replace default ellipsis. The tool cov
Omni is a browser-based productivity automation tool that operates as a local extension. It provides a command-palette interface to execute workspace actions and manage browsing sessions through text-based inputs. The system allows for local-source sideloading, enabling the software to run from a local directory rather than through a centralized extension marketplace. Capabilities cover browser tab management, including programmatically switching and organizing pages. It also includes tools for bookmark organization and history search, allowing users to filter and retrieve saved pages or pre
Nvim-colorizer.lua is a Neovim plugin that provides real-time syntax highlighting for color definitions directly within the text editor. It renders color codes, such as hex and RGB values, as visual backgrounds or text colors, allowing developers to preview design tokens and style definitions without leaving their source files. The plugin distinguishes itself through a performance-oriented architecture that offloads text scanning to background processes, ensuring the editor interface remains responsive. It utilizes the editor's internal decoration system to overlay highlights without modifyin
nvim-surround is a Lua-based extension for Neovim designed to add, change, and delete surrounding delimiter pairs around text and code. It functions as a text object manipulator that wraps or removes brackets, quotes, and tags using motions and selections. The plugin integrates with Tree-sitter to identify structural code nodes, allowing for the precise surrounding of syntax elements based on the structural syntax tree. It also supports custom surround definitions, enabling users to define specialized delimiter pairs and aliases. The core capability surface covers basic surrounding operation
This project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,
Neovim Orgmode is a task management and note-taking environment for Neovim that functions as a plain-text task manager and personal information manager. It uses hierarchical outlining, status states, and tags within simple text files to organize projects and personal workflows. The system incorporates a Tree-Sitter document parser to enable precise manipulation of document hierarchies. The project distinguishes itself through a modular Lua editor extension architecture that provides programmatic interfaces for automating document workflows. It features state-based agenda generation to aggrega
Hardtime.nvim is a Neovim plugin designed to improve editing proficiency by monitoring keystrokes and enforcing constraints on inefficient navigation patterns. It functions as a training tool that intercepts input to identify suboptimal workflows, helping users transition from repetitive manual cursor movements to more advanced text manipulation commands. The plugin distinguishes itself by combining real-time feedback with active input restriction. It employs stateful rate limiting and blocks excessive identical keystrokes to discourage reliance on inefficient sequences. When suboptimal patte
This project is a Neovim plugin that integrates large language models directly into the text editor to provide conversational programming assistance. It functions as an artificial intelligence coding assistant, enabling users to generate, refactor, and modify source code through natural language prompts and iterative chat sessions. The extension distinguishes itself by performing in-place code editing, where it applies suggestions directly to the active file buffer using precise diff-based patching. It supports agentic workflows by allowing models to execute shell commands and local scripts,
This project is a package manager and configuration framework for Neovim, designed to orchestrate the lifecycle of editor extensions. It provides a centralized system for installing, updating, and tracking plugins while ensuring consistent dependency resolution across different environments through the use of lockfiles. The framework distinguishes itself by prioritizing startup performance and modularity. It employs event-based lazy loading to defer the initialization of extensions until specific user interactions, commands, or file types trigger their activation. To further accelerate the ed
bufferline.nvim is a buffer line plugin for Neovim that provides a visual tab bar at the top of the editor to display open buffers. It functions as a workspace organizer and tabpage management interface, allowing users to switch the display mode between individual open buffers and global tabpages. The project features an LSP diagnostic visualizer that maps language server errors and warnings directly onto the buffer tabs. It enables UI customization through adjustable tab shapes and underline indicators to emulate the appearance of graphical text editors. The plugin includes capabilities for
markdown-preview.nvim is a real-time browser-based previewer for Markdown files written within the Neovim text editor. It functions as a live Markdown renderer that converts source text into HTML and provides a synchronized scroll interface to coordinate the editor and the browser preview window. The tool allows for visual customization through a Markdown CSS customizer, enabling the application of custom stylesheets to the rendered documents. It also supports the embedding of local image assets and the rendering of technical diagrams, charts, and mathematical formulas. The system manages th