30 open-source projects similar to easymotion/vim-easymotion, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Vim Easymotion alternative.
flash.nvim is a label-based navigation engine and motion plugin for Neovim. It provides a system for fast cursor repositioning by marking targets across the screen with unique characters, allowing for instant movement to specific characters, search matches, and code structures. The plugin extends navigation through Tree-Sitter integration, enabling the identification and selection of parent nodes and structural code blocks. It further distinguishes itself by supporting multi-window cursor movement, allowing users to search for patterns and jump between different files or split windows using 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
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
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.
leap.nvim is a Neovim motion plugin and text navigation tool designed for keyboard-driven cursor positioning. It enables users to move the cursor to any specific character visible on the screen using short keystroke sequences. The plugin identifies target characters within the current viewport and assigns disambiguating labels to multiple matches, allowing for precise cursor relocation without the use of a mouse.
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
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
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
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
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 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
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-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-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
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-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
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
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 directory browser for Vim and Neovim that displays the file system as a tree structure. It enables visual navigation of folder hierarchies and the opening of files directly within the editor. The plugin provides a customizable interface for adding custom mappings, functions, and third-party extensions. This extension interface allows the directory explorer's behavior to be modified through the registration of additional logic. The system covers visual file management, allowing users to perform file system operations from the explorer interface. It translates directory hiera
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
vim-visual-multi is a Vim and Neovim plugin that provides multi-cursor text editing. It functions as a multi-cursor text editor and macro orchestrator, allowing for parallel insertions, deletions, and replacements across diverse text occurrences. The plugin includes a regex text selection tool used to spawn multiple cursors based on regular expression patterns. This enables the identification of matching words or fragments to perform batch modifications across a file. The system covers several capability areas, including the vertical alignment and synchronization of cursors to a common colum
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
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
This is a Vim plugin providing a suite of tools for editing, formatting, and navigating Markdown documents. It functions as a specialized editor extension that integrates syntax highlighting and structural management directly into the Vim environment. The project focuses on document navigation and structural organization, offering a system for jumping between headers and generating tables of contents to manage long files. It includes a table formatter that aligns and beautifies columns to maintain visual consistency. The plugin covers broad capability areas including header management for ad
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
git-messenger.vim is a plugin for the Vim and Neovim text editors that provides an integrated interface for viewing version control metadata. It functions as a blame popup tool, allowing users to inspect commit details and code evolution directly within their development environment. The plugin maps the cursor position to specific version control history, enabling users to view commit messages, author information, and timestamps for the line of code currently under inspection. It supports navigation through historical commit sequences and provides tools for comparing file states and analyzing
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.
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