awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
andymass avatar

andymass/vim-matchup

0
View on GitHub↗
1,912 stars·87 forks·Vim Script·MIT·21 viewswww.vim.org/scripts/script.php?script_id=5624↗

Vim Matchup

Vim-matchup is a plugin for the Vim and Neovim text editors that provides advanced structural code navigation and manipulation. It functions as an extension to standard editor motions, enabling users to jump between, select, and modify matching language constructs and nested code blocks with high precision.

The plugin distinguishes itself by utilizing language-specific syntax trees to track and identify corresponding delimiters and keywords. By integrating with syntax-aware engines, it maintains structural accuracy even in complex source files, while offering a fallback pattern-matching mechanism for environments where advanced syntax analysis is unavailable.

Beyond basic navigation, the tool supports comprehensive code block manipulation, allowing for the deletion, selection, or restructuring of entire scopes. It provides real-time visual feedback through pair highlighting and status line integration, and allows users to define custom text objects and matching rules to suit specific language requirements.

Features

  • Vim Plugins - Provides advanced structural code navigation and manipulation for Vim and Neovim by extending standard editor motions and syntax-aware pair matching.
  • Matching Tag Navigation - Allows jumping between corresponding opening and closing language constructs using directional motions.
  • Pair Matching Logic - Uses language-specific syntax trees to identify and navigate between corresponding code delimiters with high structural accuracy.
  • Command Key Bindings - Extends editor primitives with custom key bindings for manipulating code blocks and delimiters.
  • Structural Block Selections - Enables users to highlight the contents or entire scope of nested code blocks for bulk operations.
  • Search Match Highlighting - Provides real-time visual identification of corresponding delimiters and keywords.
  • Visual Code Manipulation - Streamlines the selection, deletion, and modification of nested code structures through intuitive commands.
  • Structural Code Navigation - Displays breadcrumb-style navigation paths by identifying successive matching words within nested code structures.
  • Syntax-Aware Navigation - Utilizes language-specific syntax trees to automatically track and analyze matching pairs across various programming languages.
  • Custom Text-Object Definitions - Enables users to define custom text objects for selecting or modifying specific blocks of code.
  • Surround Management - Provides operator commands to delete, change, or restructure entire code blocks and their surrounding delimiters.
  • Programming Language Detectors - Automatically identifies and tracks corresponding keywords and delimiters in various programming languages.
  • Editor Motion Mappings - Provides keyboard-driven commands for jumping between and modifying nested code blocks using standard editor motions.
  • Tree-Sitter Parsers - Leverages language-specific syntax trees to accurately jump between and highlight matching code constructs.
  • Syntax Traversal - Navigates nested code structures by traversing syntax trees to locate parent or sibling nodes.

Star history

Star history chart for andymass/vim-matchupStar history chart for andymass/vim-matchup

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Frequently asked questions

What does andymass/vim-matchup do?

Vim-matchup is a plugin for the Vim and Neovim text editors that provides advanced structural code navigation and manipulation. It functions as an extension to standard editor motions, enabling users to jump between, select, and modify matching language constructs and nested code blocks with high precision.

What are the main features of andymass/vim-matchup?

The main features of andymass/vim-matchup are: Vim Plugins, Matching Tag Navigation, Pair Matching Logic, Command Key Bindings, Structural Block Selections, Search Match Highlighting, Visual Code Manipulation, Structural Code Navigation.

Which projects share features with andymass/vim-matchup?

Projects with overlapping indexed features include: nvim-mini/mini.nvim — mini.nvim is a comprehensive library of independent modules designed to extend Neovim with a wide array of navigation,… yangyangwithgnu/use_vim_as_ide — This project is a Vim IDE configuration and plugin suite designed to transform the Vim text editor into a full… maxmellon/vim-jsx-pretty — Vim-jsx-pretty is a text editor extension that provides syntax highlighting and indentation rules for JSX and TSX code… lervag/vimtex — VimTeX is an integrated development environment for authoring and compiling LaTeX documents within Vim and Neovim. It… christoomey/vim-tmux-navigator — vim-tmux-navigator is a navigation bridge designed to unify keyboard bindings between a text editor and a terminal… preservim/nerdtree — This project is a directory browser for Vim and Neovim that displays the file system as a tree structure. It enables…

Curated searches featuring Vim Matchup

Hand-picked collections where Vim Matchup appears.
  • Vim and Neovim Plugins and Tools

Projects sharing features with Vim Matchup

These projects share indexed features with Vim Matchup. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • nvim-mini/mini.nvimnvim-mini avatar

    nvim-mini/mini.nvim

    9,325View on GitHub↗

    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

    Lualuamini-nvimneovim
    View on GitHub↗9,325
  • yangyangwithgnu/use_vim_as_ideyangyangwithgnu avatar

    yangyangwithgnu/use_vim_as_ide

    9,169View on GitHub↗

    This project is a Vim IDE configuration and plugin suite designed to transform the Vim text editor into a full development environment. It focuses on C++ development by integrating source code indexing and automated plugin management. The environment utilizes compiler backends and abstract syntax trees for semantic code completion and static code analysis. It employs tag files for symbol indexing, enabling rapid navigation between function definitions, class headers, and implementation files. The workspace includes productivity tools such as shorthand snippet expansion, line bookmarking, and

    VimL
    View on GitHub↗9,169
  • maxmellon/vim-jsx-prettyMaxMEllon avatar

    MaxMEllon/vim-jsx-pretty

    968View on GitHub↗

    Vim-jsx-pretty is a text editor extension that provides syntax highlighting and indentation rules for JSX and TSX code elements within the Vim editor. It operates as a TypeScript JSX language plugin, rendering colorized programming constructs and nested markup hierarchies legibly inside source files. The extension applies syntax coloring and smart spacing rules to markup structures through embedded language syntax regions and structural grammar integrations. It supports formatting for tagged template strings by applying rules directly to embedded markup structures inside designated template l

    Vim scriptjsxjsx-syntaxreact-syntax
    View on GitHub↗968
  • lervag/vimtexlervag avatar

    lervag/vimtex

    6,293View on GitHub↗

    VimTeX is an integrated development environment for authoring and compiling LaTeX documents within Vim and Neovim. It functions as a comprehensive suite for technical document authoring, combining the roles of a syntax highlighter, document navigator, and autocompletion engine. The plugin distinguishes itself through a coordinated workflow that manages asynchronous compilation and bidirectional synchronization with external PDF viewers. This allows users to jump between specific source locations and their rendered pages while maintaining a responsive editor interface during document productio

    TeX
    View on GitHub↗6,293
  • Compare all 30 related projects→