A Neovim plugin that extends the ; and , keys to repeat all ]/[ motions like diagnostics, quickfix, and treesitter jumps.
Demicolon.nvim is a Neovim plugin that extends the functionality of the `;` and `,` keys to repeat a broader set of navigation motions. It solves the limitation where these keys only repeat `f`/`F`/`t`/`T` motions by allowing them to repeat all `]`/`[`-prefixed motions, such as jumping to diagnostics, quickfix items, and treesitter text objects.
Neovim users who frequently navigate through diagnostics, quickfix lists, treesitter-based code structures, or other plugin-enhanced motions and want a more efficient way to repeat these jumps.
Developers choose Demicolon.nvim because it seamlessly integrates with existing Neovim workflows, supports a wide range of built-in and plugin motions, and offers customizable keymaps without disrupting native behavior.
Overloaded ; and , keys in 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.
Extends ; and , to repeat all ]/[ motions, including diagnostics, quickfix, treesitter text objects, and more, as listed in the examples table, significantly enhancing navigation efficiency.
Works with popular plugins like nvim-treesitter-textobjects, Gitsigns, and Neotest, providing enhanced navigation without conflicts, as detailed in the plugin integration section.
Allows configuration of repeat keys (e.g., using n/N instead of ;/,) and disabling specific motions, with clear examples provided in the README for flexibility.
Supports making non-]/[ motions repeatable via the repeatably_do() function, enabling integration with plugins like flash.nvim for tailored workflows.
Integrating with plugins like eyeliner.nvim requires disabling default keymaps and writing custom Lua code, as shown in the configuration section, which can be error-prone and time-consuming.
Some motions, such as VimTeX's in operator-pending mode, are not supported, as noted in the README, restricting full functionality in specific editing contexts.
Requires nvim-treesitter and other plugins for optimal use, adding to configuration complexity and potential performance overhead, especially in lightweight setups.