30 open-source projects similar to preservim/nerdcommenter, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nerdcommenter alternative.
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
This project is a Vim commenting plugin and language-aware commenter designed to apply file-type specific comment characters to source code. It functions as a text object extension that allows for the toggling of comment markers on selected lines or blocks of text. The plugin utilizes Vim motions and ranges to determine the specific text to be modified, automating the process of adding or removing comment markers. It provides multi-language syntax support by automatically mapping comment characters based on the current file type. Users can define custom comment characters for specific file t
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
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
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
This project is a comprehensive collection of Python programming education materials, including tutorials, exercises, and curated code samples. It serves as a learning curriculum and software engineering toolkit, utilizing Jupyter Notebooks to combine executable code with descriptive educational text. The repository provides practical implementation guides for building large language model applications, such as retrieval-augmented generation systems, stateful AI agents, and machine learning workflows. It distinguishes itself by offering a structured approach to agentic coding workflows, cover
koro1FileHeader is a VSCode extension designed to automatically generate and update standardized comment blocks at the top of source files. It serves as a file metadata manager and automated code documenter that tracks authorship, modification times, and file paths directly within the code upon saving. The tool synchronizes author names and email addresses from local Git configurations to populate header fields. It also features a source code comment decorator capable of inserting decorative comment art and visual patterns to organize code sections. The extension covers a broad range of capa
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
This project is a Vim configuration distribution and IDE framework designed to transform Vim into a full-featured development environment. It functions as an environment bootstrapper that automates the cloning and installation of editor configurations and plugin bundles to ensure a consistent setup across different machines. The distribution uses a structured layer of settings and overrides, allowing users to customize the environment via local and fork-specific files without modifying the base source. It provides a curated collection of extensions that enable IDE-like capabilities for code n
Eloquent-JavaScript is a comprehensive JavaScript programming textbook and interactive coding tutorial designed for web development education. It serves as both a language reference and a practical guide, combining theoretical lessons with an environment where learners can execute and modify code examples. The project focuses on the fundamental principles of the JavaScript language, including lexical scoping, prototype-based inheritance, and asynchronous patterns. It provides detailed instruction on object-oriented programming, functional programming, and the use of the browser DOM to create
Sprig is a comprehensive library of helper functions designed to extend the Go text template engine. It provides a wide array of custom functions that can be injected into the engine to enable complex data manipulation and logic directly within templates. The project offers specialized capabilities for cryptography, including the generation of private keys, X.509 certificates, and secure password hashes. It also includes advanced logic extensions for semantic versioning comparison, ternary evaluations, and the resolution of environment variables from the host operating system. The library co
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
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.
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-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-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
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-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 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
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
Gepetto is an IDA Pro plugin that integrates large language models directly into the reverse engineering workflow. It functions as a multi-provider LLM client, allowing users to explain decompiled functions, rename variables, and add comments to pseudocode, all while supporting multiple language model backends and a localized interface. The plugin distinguishes itself through a plugin-based architecture that abstracts multiple LLM providers behind a unified interface, enabling hot-swapping between providers and models without restarting IDA Pro. It also features a command-line interface bridg
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
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
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
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
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