A Neovim plugin that provides command-line window functionality using normal buffers and windows.
cmdbuf.nvim is a Neovim plugin that replaces the built-in command-line window with a more flexible implementation using normal buffers and windows. It solves the problem of restrictive navigation and limited customization in Neovim's native command-line interface by providing standard buffer operations and configurable window behavior.
Neovim users who frequently use command-line mode and want more control over their command history editing, particularly developers who customize their workflow with Lua configurations.
Developers choose cmdbuf.nvim because it offers greater flexibility than the built-in command-line window while maintaining compatibility with Vim commands, search patterns, and Lua commands through a clean Lua API and customizable mappings.
Alternative command-line window plugin for neovim
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Replaces the special command-line window with standard Neovim buffers, enabling typical operations like navigation and editing that are restricted in the built-in version, as demonstrated by the ability to use `wincmd` and buffer-specific mappings.
Allows opening command-line windows in splits with configurable heights, addressing the fixed window behavior of the native solution, shown in the example using `split_open` with height parameters.
Supports separate buffers for Vim commands, Lua commands, and search commands (forward/backward), providing a unified interface for different command types, illustrated in the mappings for `q:`, `ql`, `q/`, and `q?`.
Offers a Lua API for custom mappings and line filtering, enabling advanced workflows like filtering command history lines programmatically, as seen in the autocmd example that filters out specific commands.
Requires manual setup with Lua configurations and autocmds to replicate basic functionalities, such as custom keymaps and buffer settings, which can be cumbersome for users seeking a drop-in replacement.
By replacing the native command-line window, it may conflict with other plugins or scripts that depend on Vim's default command-line behavior, though not explicitly documented, this is a risk in complex setups.
Demands familiarity with Neovim's Lua API and buffer/window management to fully utilize features like line filtering and custom mappings, as evidenced by the complex example code requiring autocmd and iterators.