A Neovim plugin that lets you tab out of parentheses, quotes, and other paired symbols for faster editing.
tabout.nvim is a Neovim plugin that enhances editing efficiency by allowing users to press the Tab key to jump outside of paired characters like parentheses, quotes, and brackets. It solves the common annoyance of having to manually move the cursor after typing inside such symbols, integrating seamlessly with Neovim's ecosystem.
Neovim users who write code in languages with frequent paired symbols (e.g., JavaScript, Python, Lua) and want to optimize their editing speed and reduce keystrokes.
Developers choose tabout.nvim for its smooth, context-aware navigation that works with tree-sitter and popular completion plugins, offering a highly configurable and lightweight alternative to manual cursor movements or less integrated solutions.
tabout plugin for neovim
Pressing Tab moves the cursor outside paired characters like quotes and parentheses, leveraging tree-sitter for precise context detection, as demonstrated in the examples table with smart jumps from inside symbols.
Supports both forward (Tab) and backward (Shift+Tab) navigation, enabling flexible editing flow around symbols without manual cursor adjustments.
Allows defining custom symbol pairs via the 'tabouts' configuration and fine-tuning behavior with settings like 'ignore_beginning' and 'act_as_tab' for different scenarios.
Designed to work alongside popular completion plugins like nvim-cmp and snippet engines like LuaSnip, with documented strategies for avoiding keybinding clashes.
Only functions with languages that have installed tree-sitter parsers, limiting usability for unsupported filetypes, as explicitly noted in the exceptions section of the README.
Integrating with completion plugins often requires manual configuration of keybindings using fallback functions, which can be error-prone and time-consuming, as shown in the 'more complex keybindings' examples.
Custom pairs are restricted to single-character open and close symbols due to the 'tabouts' configuration limitation, preventing support for multi-character delimiters like HTML tags.
Neovim's answer to the mouse 🦘
Navigate your code with search labels, enhanced character motions and Treesitter integration
deprecated in favor of leap.nvim
💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.