30 open-source projects similar to preservim/nerdtree, 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.
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 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-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
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
vim-airline is a customizable status and tab line plugin for Vim that displays editor state and plugin metadata in real time. It serves as a visual interface extension and buffer manager, providing an enhanced UI through a dynamic status line and a top tab bar for navigating open files. The plugin features a theme-based styling system that supports predefined color schemes and specialized font icons. Users can configure the visual aesthetic by modifying colors and reordering individual status line sections to control which information is visible. The system manages editor state visualization
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
Ranger is a keyboard-centric console file manager that provides a multi-column, text-based interface for navigating and organizing local file systems. It functions as a productivity tool designed to streamline command-line workflows by allowing users to perform standard file operations, such as copying, moving, and deleting, directly within a terminal environment. The project distinguishes itself through its extensible architecture and deep integration with the host shell. It supports custom plugin development and maintains context between sessions by syncing the working directory upon exit.
This project is a comprehensive development plugin for the Vim text editor, designed to transform the editor into a specialized environment for Go software development. It provides a suite of integrated tools that facilitate the entire development lifecycle, including writing, maintaining, and navigating Go source code. The plugin distinguishes itself by orchestrating external command-line binaries and language servers to perform heavy analysis, compilation, and formatting tasks as background processes. By mapping editor events to these external tools and utilizing virtual file system synchro
Vim-galore is a comprehensive technical reference and curated guide for mastering the Vim text editor. It serves as a central resource for users seeking to understand the philosophy, command structure, and advanced customization capabilities required to operate professional-grade modal text editors effectively. The project distinguishes itself by providing a deep dive into efficient editing workflows, plugin management, and automation strategies within a terminal-based environment. It covers the full spectrum of editor mastery, from fundamental modal navigation and text manipulation to comple
TextMate is a programmable text editor designed for software development and project management. It functions as a highly customizable environment where users can define language-specific behaviors, syntax highlighting rules, and automated workflows to suit their individual development needs. The editor distinguishes itself through a modular, bundle-based extensibility model that allows for deep integration with system shell commands. By piping document buffers through external scripts and command-line tools, users can perform complex text transformations, automate file lifecycle tasks, and b
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-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-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-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
colorls is a Ruby-based terminal directory visualizer that displays file system contents using colors, Font Awesome icons, and Git status indicators. It functions as a command line interface for rendering directory contents and nested file system hierarchies in both list and tree formats. The project features a customizable theme engine that allows users to override default colors and unicode icons via external configuration files. It integrates with version control to append the status of files and folders directly within the terminal listing. The tool provides capabilities for directory hi
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
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 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
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
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
Okio is a Java I/O library providing a set of tools for efficient byte-stream processing and file system operations. It functions as a buffered byte stream handler and streaming data transformer, utilizing a cross-platform file system API to manage data movement. The project is distinguished by its use of pooled mutable byte buffers that treat sequences as queues to reduce memory copying and garbage collection churn. It further decouples file operations from the host operating system through an abstraction-based file system, allowing for consistent path manipulation and atomic operations acro
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.
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 project is a comprehensive educational resource and technical guide for Bash shell programming and command-line operations. It serves as a programming guide, scripting reference, and tutorial for navigating Unix-like terminal environments. The documentation covers a broad range of system administration and automation tasks, including remote server administration via secure shell connections and the management of system processes and resources. It provides detailed instructions on executing remote commands and performing secure file transfers between hosts. The guide details core scripti
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
libuv is a cross-platform asynchronous I/O library that provides an abstraction layer for event-driven networking, filesystem operations, and system signals. It utilizes a non-blocking event loop to coordinate asynchronous tasks and I/O events across different operating systems. The project features a unified interface for managing TCP, UDP, and DNS resolution, alongside an inter-process communication layer for sharing sockets via named pipes and Unix domain sockets. To prevent blocking the main execution loop, it includes a multi-platform thread pool for offloading computationally expensive
js-ipfs is an HTTP client library that connects to any IPFS daemon, enabling JavaScript applications to interact with the InterPlanetary File System. It provides a promise-based asynchronous API for managing content-addressed storage, where all data is identified by cryptographic hashes (CIDs) for immutable references and deduplication. The library communicates with a remote IPFS node through HTTP requests, supporting cancellation of in-flight operations via standard AbortController signals. The library offers a comprehensive set of capabilities for working with IPFS, including adding and ret
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