30 open-source projects similar to sirver/ultisnips, ranked by shared indexed features. Tags may describe platforms or build tools rather than the same primary purpose. Check each project’s use case, license, and deployment requirements before treating it as a replacement.
LuaSnip is a scriptable text expansion framework and Lua-based snippet engine. It allows for the creation of reusable text templates and complex nested structures that expand into a buffer using triggers and jumpable tabstops. The system distinguishes itself by using abstract syntax trees to trigger expansions based on structural code patterns rather than simple text matching. It features a multi-format importer capable of parsing snippet definitions from community standards such as LSP and SnipMate. The framework covers dynamic code generation through Lua functions, regex-based capture grou
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
coq_nvim is an asynchronous code completion engine for Neovim. It aggregates suggestions from multiple sources, including language servers, tag files, and local buffers, to provide non-blocking code completion. The engine distinguishes itself through a typo-resistant fuzzy completion filter and a two-stage weighted ranking system that prioritizes candidates based on recency and proximity. It utilizes an embedded SQLite database for local caching and background symbol indexing to accelerate lookups without freezing the editor interface. The project also includes a system for defining and expa
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
This project is a Lua-based completion engine for Neovim that aggregates real-time text suggestions from multiple data sources into a single interface. It functions as a modular framework for extending the editor with custom completion logic, acting as both a fuzzy text suggestion tool and an interface for the Language Server Protocol. The engine utilizes a source-agnostic provider interface to standardize how disparate data sources feed candidates into a central logic engine. It employs asynchronous candidate fetching and a non-blocking architecture to retrieve suggestions from external serv
Deoplete.nvim is an asynchronous completion engine and framework for Neovim and Vim8. It functions as a non-blocking system for fetching and displaying text suggestions, serving as a modular extension that integrates multiple external completion sources without freezing the editor user interface. The project operates as a Language Server Protocol client, bridging the editor to external language servers to provide context-aware, type-safe completions. It further distinguishes itself by supporting intelligent text prediction through the integration of machine learning engines and language-speci
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
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-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 mecha
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
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
This project is a syntax highlighting plugin for the Vim text editor that provides advanced color coding for modern C++ language standards. It functions as a set of configuration files that extend the editor's native grammar to improve code readability and navigation. The plugin distinguishes between standard library components, modern language features, and user-defined code structures. By applying unique visual formatting to classes, functions, and variables, it assists in identifying language elements and understanding source code logic. The extension utilizes regex-based pattern matching
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
Clipy is a clipboard manager and productivity utility for macOS. It functions as a text snippet manager and a tool for archiving clipboard history, allowing users to retrieve previously copied text and images. The application enables the storage of frequently used boilerplate text as snippets to avoid repetitive manual typing. These snippets and historical clipboard entries can be accessed and inserted into other applications via keyboard shortcuts.
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
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
Espanso is a cross-platform text expander and automation tool written in Rust. It replaces short keywords with longer predefined text strings across different operating systems to increase typing speed and consistency. The tool utilizes regular expressions to detect complex typing patterns for dynamic replacement and allows for the execution of custom shell scripts to inject real-time data. Users can restrict expansions to specific software environments, ensuring that keywords only trigger within designated applications. The system includes a manager for installing and updating curated colle
Vim-codefmt is a plugin for the Vim text editor that automates source code formatting by integrating external command-line utilities. It functions as a bridge between the editor and specialized formatting tools, allowing developers to maintain consistent style across diverse programming languages through a unified interface. The plugin operates by invoking external processes to transform buffer content, utilizing standard input and output streams to exchange data. It supports both full-file formatting and targeted adjustments for specific code ranges, ensuring that style enforcement can be ap
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
vim-javascript is a syntax plugin for the Vim text editor that provides a collection of syntax highlighting, indentation rules, and code folding definitions specifically for JavaScript files. It functions as a set of implementation modules that extend the editor's native capabilities to improve the readability and structural management of the language. The project features a display layer customizer that utilizes character concealment to replace specific keywords and sequences with shorthand symbols. This reduces visual noise and increases code density without altering the actual content of t
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-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
ctrlp.vim is a fuzzy file navigation tool for the Vim editor. It enables the location and opening of files, buffers, tags, and recently used items through approximate string matching and regular expressions. The project identifies project roots by scanning for version control markers and configuration files. It allows for the creation of new files and their required parent directories directly from the search interface, and can open multiple files simultaneously. Broad capabilities include text editor resource management and workflow automation, such as executing specific commands immediatel
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
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-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
IdeaVim – A Vim engine for JetBrains IDEs
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
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.
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