Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Neovim
  3. tabout.nvim

tabout.nvim

UnlicenseLua

A Neovim plugin that lets you tab out of parentheses, quotes, and other paired symbols for faster editing.

GitHubGitHub
856 stars20 forks0 contributors

What is tabout.nvim?

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.

Target Audience

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.

Value Proposition

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.

Overview

tabout plugin for neovim

Use Cases

Best For

  • Quickly exiting parentheses or braces after typing function arguments
  • Moving out of quotes when writing strings or JSX attributes
  • Navigating around brackets in array or object literals
  • Integrating Tab key behavior with nvim-cmp and LuaSnip workflows
  • Reducing repetitive arrow key usage during coding sessions
  • Customizing tabout behavior for non-standard symbol pairs (e.g., macros)

Not Ideal For

  • Neovim setups without tree-sitter parsers installed for target languages
  • Users who heavily customize Tab for snippet expansion without wanting complex keybinding configurations
  • Developers working with filetypes lacking available tree-sitter parsers

Pros & Cons

Pros

Intelligent Pair Navigation

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.

Bidirectional Movement

Supports both forward (Tab) and backward (Shift+Tab) navigation, enabling flexible editing flow around symbols without manual cursor adjustments.

High Customizability

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.

Seamless Plugin Integration

Designed to work alongside popular completion plugins like nvim-cmp and snippet engines like LuaSnip, with documented strategies for avoiding keybinding clashes.

Cons

Tree-sitter Dependency

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.

Complex Keybinding Conflicts

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.

Limited Pair Character Support

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.

Frequently Asked Questions

Quick Stats

Stars856
Forks20
Contributors0
Open Issues5
Last commit1 year ago
CreatedSince 2021

Tags

#code-editing#neovim-plugin#tree-sitter#keyboard-navigation#editor-productivity#lua-config#vim-improvement#neovim#lua

Built With

N
Neovim
T
Tree-sitter
L
Lua

Included in

Neovim20.6k
Auto-fetched 6 hours ago

Related Projects

leap.nvimleap.nvim

Neovim's answer to the mouse 🦘

Stars5,031
Forks51
Last commit21 days ago
flash.nvimflash.nvim

Navigate your code with search labels, enhanced character motions and Treesitter integration

Stars4,048
Forks75
Last commit6 months ago
lightspeed.nvimlightspeed.nvim

deprecated in favor of leap.nvim

Stars1,557
Forks28
Last commit2 years ago
precognition.nvimprecognition.nvim

💭👀precognition.nvim - Precognition uses virtual text and gutter signs to show available motions.

Stars1,324
Forks16
Last commit3 months ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub