30 open-source projects similar to tpope/vim-commentary, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Vim Commentary alternative.
Nerdcommenter is a Vim commenting plugin and text manipulator designed to automate the insertion, removal, and formatting of language-specific code comments. It serves as a utility for toggling comment markers and aligning comment blocks to improve code organization. The tool provides capabilities for comment state toggling and delimiter switching, allowing users to add or remove markers from single lines or selected blocks of text. It includes features for comment block formatting to ensure visual consistency and the ability to comment out code to disable execution. The plugin covers a broa
Comment.nvim is a Neovim plugin for toggling line and block comments in code. It uses a language-aware syntax resolver to determine the correct comment characters based on the active buffer's filetype and a text-object commenting engine to apply these changes across specific code regions using motions. The plugin features a hook-based action pipeline that executes user-defined pre and post callbacks around core buffer modification operations. It supports Tree-Sitter syntax detection to handle embedded languages within a single file and allows for the definition of custom comment syntax for un
emmet-vim is a plugin for Vim that functions as a markup automation tool and code expander. It allows for the rapid generation of HTML and CSS structures by expanding shorthand text expressions into full code elements. The tool provides a set of shortcuts for wrapping, balancing, and manipulating tags. It includes a text object extension that enables navigation and editing commands for jumping between nested element boundaries. The project covers a range of capabilities for frontend code refactoring and document hierarchy restructuring. These include tag wrapping, element removal, attribute
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
This is a Vim extension that provides Git change visualization and hunk management. It displays markers in the sign column to indicate added, modified, or removed lines relative to the Git index, allowing users to visualize diffs and compare buffer versions side-by-side. The plugin extends the editor's text objects to target specific blocks of modified lines, enabling the use of standard operators on these contiguous hunks. It also provides tools to stage or undo individual blocks of changes directly within the editor. Additional capabilities include navigation utilities for jumping between
This project is a curated configuration suite and development environment bootstrapper designed to optimize Zsh and Vim. It provides a collection of dotfiles, plugins, and scripts that automate the installation of system packages and shell tools to standardize a local workstation. The suite focuses on creating a consistent experience across the command line and text editor. It implements a Zsh shell framework with syntax highlighting and fuzzy matching, alongside a Vim configuration that includes advanced plugins and modal editing. It also provides a set of sane defaults and Vim-style keybind
This project is a collection of configuration suites and plugin bundles designed to transform the Vim text editor into a full development environment. It provides a curated set of settings, themes, and extensions to support system administration and software development. The environment is specialized for polyglot programming and Markdown authoring, featuring a dedicated Python development toolkit. It includes tools for converting Markdown to HTML for browser previewing and integrates Graphviz for rendering data visualizations directly from source descriptions. The configuration covers a bro
Vimspector is a visual debugger integration for Vim that enables developers to step through code and inspect program state without leaving the editor. It utilizes the Debug Adapter Protocol to provide a unified interface for debugging multiple programming languages through various debug adapters. The project distinguishes itself by supporting low-level analysis and specialized environments, including bare metal hardware debugging for microcontrollers and the ability to perform disassembly analysis and process memory dumping. It also provides remote debugging capabilities by proxying requests
auto-pairs is a Vim plugin that provides an extensible system for automatic bracket management and text manipulation. It automatically inserts and deletes matching brackets, parentheses, and quotes to increase editing efficiency. The tool allows for the definition of custom single-character and multibyte opening and closing pairs, supporting complex delimiters such as comments or triple quotes. It provides capabilities for wrapping blocks of text in pairs, navigating between corresponding characters, and formatting indented lines when pressing enter within a pair.
vim-rails is a set of editor enhancements for navigating, testing, and managing Ruby on Rails applications within Vim. It provides a project navigator for jumping between related controllers, models, and views, a dedicated test runner for executing specs, and an interface for running framework generators and commands directly from the editor. The plugin enables the extraction of code blocks into separate partials or concerns and automatically replaces the original content with render calls. It also includes a specialized syntax highlighter that applies color coding to framework-specific metho
This project is a Vim plugin that functions as a comprehensive Git version control interface. It integrates repository management, staging, and commit operations directly into the text editor, allowing users to maintain project history and manage repository state without switching contexts. The plugin distinguishes itself by mapping version control operations to temporary text buffers, enabling users to manipulate repository data using standard editing commands. It utilizes a virtual file system to present historical commits, trees, and blobs as read-only buffers, facilitating navigation and
vim-surround is a plugin for managing pairs of enclosing delimiters within the Vim editor. It functions as a text manipulation tool that automates the addition, removal, and replacement of characters and tags that surround text objects. The tool provides specialized commands to wrap selections, lines, or specific text objects in character pairs such as brackets and quotes. It also enables the replacement of existing delimiters with different pairs or the complete removal of surrounding characters while preserving the internal content. These capabilities extend to markup languages, allowing f
vim-snippets is a library of pre-defined code templates and boilerplates for numerous programming languages designed for use within Vim. It provides standardized patterns and repetitive code blocks for a wide variety of languages and frameworks. The collection includes templates formatted for the Snipmate engine and other compatible text expansion plugins. It features optional template sets for specific libraries and frameworks to keep the global snippet namespace organized. The project manages multi-language boilerplate and vendor snippet integration through automated language detection and
Tagbar is a Vim plugin that displays a resizable sidebar of code tags parsed by Exuberant Ctags, organized by scope, with cursor-linked highlighting and key-mapped jumps to definitions. It provides a hierarchical view of code elements like functions and classes from the current file, enabling navigation and structural overview directly within the editor. The plugin integrates with Exuberant Ctags to parse source files and extract tag definitions, then organizes those symbols into a tree structure based on their enclosing scope, such as class or function boundaries. It features real-time file
This is a navigation plugin for Vim that enables instant cursor movement by highlighting all possible jump targets in the visible text and assigning them unique keys. It functions as a search-to-jump extension, converting character or multi-character search patterns into single-key jumps to specific text targets. The tool supports multibyte text navigation, allowing users to search for and jump to Japanese characters using alphabetical input patterns. It also employs intelligent case matching and symbol-based mapping to link numeric digits with their corresponding keyboard shift-symbols. The
This is a Vim plugin that adds simultaneous multi-selection and parallel editing capabilities to the editor. It functions as a multi-cursor tool and regex-based batch editor, allowing users to perform the same editing action across multiple locations in a buffer at once. The extension enables the placement of virtual cursors across a document using regular expressions or by identifying all occurrences of a word. It also allows for the generation of cursors on every line within a visual selection to facilitate multi-line block editing. The tool supports synchronized character insertion and pa
Everforest is a nature-inspired color scheme and syntax highlighting theme for Vim and Neovim. It provides a collection of light and dark color schemes designed with soft contrast to reduce eye strain. The theme features a green-based palette with adjustable background contrast and multi-variant color profiles to suit different ambient lighting. Users can modify the visual appearance through variable-driven customization and a configurable color palette. The project covers semantic syntax highlighting and UI element colorization to distinguish code logic across various programming languages.
Syntastic is a Vim syntax checking plugin that integrates external command-line analysis tools to detect and highlight code errors. It functions as a system for mapping specific syntax checkers to filetypes and validating code structure and correctness within the editor. The project acts as an external linter aggregator, combining error results from multiple checkers into a single unified list for the current file. It provides visualization tools to pinpoint issues using signs, highlighting, and statusline flags. The plugin supports real-time syntax validation and on-demand checking, often t
vim-polyglot is a multi-language Vim plugin that provides a comprehensive bundle of syntax highlighting, automated indentation management, and filetype detection for a wide variety of programming and configuration languages. It serves as a single installation to streamline the development environment by providing integrated support for numerous languages. The project functions as a language support bundle that combines syntax highlighting packs with an indentation manager. It uses both extension-based filetype detection and pattern-based language identification to apply the correct visual for
UltiSnips is a snippet engine for the Vim text editor designed to expand text templates and manage dynamic placeholders. It provides a system for inserting predefined blocks of text and boilerplate code to automate repetitive writing tasks. The engine features a placeholder manager that enables stateful navigation between input areas and bidirectional field synchronization, which mirrors text entered in one field across all linked locations in real time. It also includes a dynamic text interpolator that executes scripts to inject calculated values or external data into snippets during expansi
indentLine is a Vim plugin and text editor extension that serves as a code structure visualizer. It renders vertical indentation guides to help developers identify the start and end of nested blocks and improve code readability. The tool provides customizable indentation line appearances, allowing users to define the characters and colors used to distinguish between different nesting levels. It also includes a visibility toggle to switch these guides on or off. The plugin manages indentation level visualization through a virtual-text overlay that does not modify the actual text content of th
This project is a Vim configuration framework and development environment that transforms the basic text editor into a full-featured integrated development environment. It provides a curated set of settings and a comprehensive plugin suite to support professional software development workflows. The environment includes specialized tools for polyglot code execution and project navigation, allowing users to run source files in multiple languages via single keystrokes and locate files using fuzzy searching. It also integrates version control workflows, enabling the management of Git operations a
Janus is a Vim distribution and curated plugin configuration that transforms the editor into a full-featured development environment. It functions as a Vim-based IDE, integrating a collection of third-party extensions to provide an integrated development experience. The system features a fuzzy-search project navigator for locating files, buffers, and symbols across a codebase. It also includes a Git-integrated workflow that provides real-time diff visualization in the sign column and allows users to stage hunks and manage version control directly within the editor. The environment covers bro
vim-tmux-navigator is a navigation bridge designed to unify keyboard bindings between a text editor and a terminal multiplexer. It functions as a plugin that synchronizes movement shortcuts, allowing for consistent cursor movement between editor splits and terminal panes. The system enables navigation across multiple layers of nested sessions and manages the interaction between zoomed panes and window transitions. It includes mechanisms to handle navigation wrapping and ensures a consistent experience when moving the cursor across diverse shell environments. The tool provides configuration u
vim-instant-markdown is a real-time synchronization tool and renderer that displays Markdown text from Vim in a browser window. It functions as a document synchronizer that pushes editor buffer changes to a web client via WebSockets for immediate visual updates. The tool specifically renders GitHub Flavored Markdown, applying the styles and syntax used by GitHub to ensure consistent visual formatting. This provides a continuous feedback loop for layout and formatting during the technical documentation process.
lightline.vim is a statusline plugin for the Vim text editor that provides a configurable status and tab line. It functions as a user interface enhancement to display system information and plugin data. The plugin allows for the visual styling of the bottom status bar independently from the main editor theme using a custom color palette. It integrates data from external tools and version control systems directly into the interface. The tool covers the configuration of both status and tab lines, including the definition of custom information fields. It supports the integration of dynamic data
goyo.vim is a distraction-free writing plugin for Vim that centers text and hides user interface elements to create a focused editing environment. It functions as an interface customizer and workspace manager, allowing users to minimize visual noise during long-form writing. The project provides tools for configuring the dimensions of the writing area using absolute values or percentages. It automates the transition between standard editing and focused modes by toggling specific settings and disabling interface elements such as status lines, sign columns, and git gutters. The plugin includes
vim-easy-align is a text alignment plugin and extension for the Vim editor. It functions as a regular expression-based text formatter designed to vertically align text across multiple lines. The tool identifies alignment anchor points using characters or regular expressions to create tabular layouts and organized source code formatting. It supports specific occurrence targeting to determine which instance of a repeating character serves as the anchor, as well as the ability to define custom alignment rules and delimiters. Capabilities include multi-line text alignment with left, right, or ce
nvim-surround is a Lua-based extension for Neovim designed to add, change, and delete surrounding delimiter pairs around text and code. It functions as a text object manipulator that wraps or removes brackets, quotes, and tags using motions and selections. The plugin integrates with Tree-sitter to identify structural code nodes, allowing for the precise surrounding of syntax elements based on the structural syntax tree. It also supports custom surround definitions, enabling users to define specialized delimiter pairs and aliases. The core capability surface covers basic surrounding operation
undotree is a Vim plugin that provides a tree-based interface for browsing and restoring non-linear edit states. It functions as an undo history visualizer and manager, allowing users to navigate diverging branches of a file's history. The project enables the recovery of versions that were previously overwritten by switching between divergent edit paths. It renders the undo history as a directed graph to facilitate the restoration of specific historical document states. The plugin also includes utilities for managing persistent undo files on disk, including a cleanup tool to identify and rem