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.
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
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.
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-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
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
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
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 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 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-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
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
rust.vim is a Vim plugin that provides language-specific editor support for Rust. It integrates syntax highlighting, indentation management, and tooling configurations to improve the readability and structural understanding of Rust source code. The plugin enables targeted test execution for specific functions and provides integration with an online playground for code experimentation and sharing. It further covers capabilities for code formatting, static error detection, and symbol navigation for browsing source structures and jumping between definitions. Configuration is managed through Vi
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
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
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.
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-lsp is a Vim plugin that implements the Language Server Protocol to provide an asynchronous code intelligence tool for the editor. It serves as a bridge between Vim and external language servers, providing semantic code analysis and IDE-like navigation and diagnostics. The project provides a refactoring interface for renaming symbols across a workspace and applying quick-fixes. It also enables semantic highlighting, which color-codes elements based on their meaning as determined by the language server. The plugin covers a broad surface of capabilities, including symbol navigation and dis
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
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
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
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
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
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.
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