30 open-source projects similar to kylechui/nvim-surround, ranked by how many features they have in common. Compare stars, activity and what each one does to find the best Nvim Surround alternative.
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-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 project provides an integration of Tree-sitter into the Neovim editor to enable structural code analysis. It serves as a framework for structural code navigation, context-aware syntax highlighting, and the management of language-specific parsers. The system distinguishes itself through a multi-language injection handler that identifies and parses embedded languages within a single document. It uses a dedicated parser manager to install, update, and remove grammar definitions and their associated query files. The tool covers several capability areas including incremental text selection,
snacks.nvim is a comprehensive collection of quality-of-life plugins and utilities designed to extend the core functionality of Neovim. It serves as a multi-purpose toolkit providing a UI framework, navigation enhancements, and integrations with external services. The project distinguishes itself by combining a wide array of specialized tools into a single suite, including a picker-based file explorer, a deep GitHub integration for managing issues and pull requests, and a set of development utilities for profiling Lua performance and inspecting code execution. Its broader capability surface
nvim-treesitter-context is a Neovim editor extension that provides structural awareness of source files by displaying sticky headers of surrounding code blocks. It utilizes Tree-sitter queries to identify parent functions and classes, keeping them visible at the top of the editor window while scrolling. The tool allows for language rule customization, enabling the definition of specific structural queries to modify how context is detected for different programming languages. Users can also adjust the visual appearance of the context window through custom highlight groups. Beyond visual orien
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 keybinding emulation for Visual Studio Code. It implements modal text editing to separate navigation and content creation through specialized modes, reducing reliance on the mouse. The emulator supports custom IDE workflows by importing standard configuration files and remapping keyboard shortcuts. It integrates with external processes to handle complex commands and reproduces logic from common plugins for surrounding characters, commenting, and rapid motion. The capability surface includes keyboard-driven navigation using text objects, markers, and character sequences.
This project is a configuration framework for Neovim that acts as a client for the Language Server Protocol. It bridges the gap between the text editor and external language analysis tools, enabling the integration of real-time diagnostics, intelligent code completion, and automated refactoring directly into the development environment. The framework provides a standardized interface for managing the lifecycle of external language servers as independent background processes. By utilizing a Lua-based configuration layer, it allows users to define server-specific settings and initialization opt
Nvim-colorizer.lua is a Neovim plugin that provides real-time syntax highlighting for color definitions directly within the text editor. It renders color codes, such as hex and RGB values, as visual backgrounds or text colors, allowing developers to preview design tokens and style definitions without leaving their source files. The plugin distinguishes itself through a performance-oriented architecture that offloads text scanning to background processes, ensuring the editor interface remains responsive. It utilizes the editor's internal decoration system to overlay highlights without modifyin
copilot.lua is a Lua-based Neovim plugin that integrates GitHub Copilot to provide an AI code completion engine. It delivers real-time ghost text and inline suggestions within the editor, utilizing a Neovim LSP client to manage communication and buffer-specific activations. The project handles GitHub account integration through token-based authentication and corporate instance support. It allows for the management of AI models and the configuration of language server protocols to authorize and customize service access. The system covers AI coding assistance through predictive edit suggestion
todo-comments.nvim is a Neovim plugin and codebase task navigator that highlights and manages task keywords within code comments. It functions as a Lua-based highlighter and workflow extension that aggregates pending work and notes from source code into a searchable project list. The plugin provides visual tracking of task comments using custom syntax highlighting and allows for jumping between these markers within a file. It enables project-wide task management by searching for tagged comments across multiple files to organize a development roadmap.
noice.nvim is a Neovim UI enhancement plugin that replaces the editor's default command-line, notification, and popup-menu interfaces with a modern, customizable floating-window system. It provides a command-line popup menu, an LSP progress viewer, a message routing framework, and a notification display system with configurable layouts and severity-based styling. The plugin routes Neovim messages to different visual containers based on event type, kind, or content, and displays notifications with customizable layouts, icons, and severity-based styling in floating windows. It visualizes ongoin
Neorg is a knowledge management framework for Neovim designed for organizing notes, tasks, and structured data using a custom hierarchical text format. It functions as a personal knowledge base and a system for generating structured text documents. The framework integrates project management and time tracking directly into the editor environment. It enables the creation of typeset documents and professional slideshow presentations by converting raw structured text into formatted visual layouts. The system covers a broad range of productivity capabilities, including personal knowledge managem
opencode.nvim is a Neovim plugin that integrates large language model capabilities for code generation, refactoring, and automated diagnostic analysis. It connects the editor to local or remote AI servers to execute coding tasks and manage conversation history. The system features a side-by-side diff interface for reviewing and accepting AI-generated code changes and a prompt builder that injects real-time editor data, such as buffer contents and selections, into instructions. It also functions as an extension to explain code diagnostics and trigger editor actions via a backend server. The p
This is a code folding plugin for Neovim that manages foldable code blocks to reduce visual clutter and organize long source files. It functions as a folding provider and visualizer that leverages Language Server Protocol data and indentation patterns to identify and hide logical code sections. The plugin distinguishes itself through the ability to preview collapsed content in floating windows without expanding the fold. It also provides extensive visual customization for folded regions, including the use of virtual text indicators and custom markers to replace default ellipsis. The tool cov
windsurf.vim is an AI-driven development tool for Vim and Neovim that integrates AI-powered code completion, a conversational coding assistant, and autonomous agent orchestration. It enables users to receive real-time code suggestions and perform complex refactoring via natural language instructions directly within the editor. The project provides a system for dispatching and monitoring multiple AI agents to execute engineering tasks across local and cloud environments. It includes context-aware project analysis by indexing the local codebase and supports shared workspace management to mainta
toggleterm.nvim is a Lua-based terminal manager and session orchestrator for Neovim. It provides a system for opening, hiding, and organizing multiple persistent terminal windows, allowing shell sessions to be integrated directly within the text editor. The plugin distinguishes itself by offering a floating terminal interface and the ability to define custom terminal classes. These classes allow for specialized instances with dedicated commands and environment variables, while named terminal selection enables users to focus specific sessions using descriptive labels rather than numeric identi
kanagawa.nvim is a Lua-based colorscheme for NeoVim that provides a high-contrast visual theme based on a traditional Japanese art color palette. It functions as a comprehensive styling system for the editor, applying semantic syntax highlighting to code structures and plugins. The project features a system for switching between different lighting variants, such as warm, deep dark, and light modes. It includes utilities for customizing specific palette colors and highlight groups, as well as the ability to export color definitions to external terminal emulators and shells for cross-applicatio
nvim-autopairs is a Lua-based extension for Neovim that automatically inserts closing brackets, quotes, and keywords to maintain balanced syntax. It functions as a contextual bracket automator, utilizing Tree-Sitter structural nodes to determine when to insert or skip closing characters based on the code's actual syntax tree. The plugin distinguishes itself by using Tree-Sitter awareness to prevent inserting pairs inside strings or comments. It supports dynamic closing string resolution and custom pairing logic, allowing users to define specific rules using regular expressions and filetype fi
This project is a package manager and configuration framework for Neovim, designed to orchestrate the lifecycle of editor extensions. It provides a centralized system for installing, updating, and tracking plugins while ensuring consistent dependency resolution across different environments through the use of lockfiles. The framework distinguishes itself by prioritizing startup performance and modularity. It employs event-based lazy loading to defer the initialization of extensions until specific user interactions, commands, or file types trigger their activation. To further accelerate the ed
This project is a Neovim plugin that integrates large language models directly into the text editor to provide conversational programming assistance. It functions as an artificial intelligence coding assistant, enabling users to generate, refactor, and modify source code through natural language prompts and iterative chat sessions. The extension distinguishes itself by performing in-place code editing, where it applies suggestions directly to the active file buffer using precise diff-based patching. It supports agentic workflows by allowing models to execute shell commands and local scripts,
NvChad is a Neovim configuration framework that provides a pre-configured base setup with a refined interface and custom defaults. It serves as a modular system for managing the editor environment through a curated plugin suite and configuration files written in Lua. The framework features a lazy-loading plugin manager designed to minimize startup time and improve responsiveness by initializing components on demand. It also includes a built-in theme engine with a dedicated picker for switching between different visual styles and aesthetic configurations. The project covers a broad range of d
This project is a dark syntax highlighting theme for Vim and Neovim. It provides a set of predefined color definitions and visual styles designed to maintain a consistent dark interface across terminal and graphical environments. The theme includes specific color palettes for terminal emulators and provides integration for editor plugins, such as status lines and version control gutters. It employs terminal capability detection to choose between high-fidelity RGB values and 256-color palettes based on the host environment. Users can modify the visual style through configuration-driven overri
bufferline.nvim is a buffer line plugin for Neovim that provides a visual tab bar at the top of the editor to display open buffers. It functions as a workspace organizer and tabpage management interface, allowing users to switch the display mode between individual open buffers and global tabpages. The project features an LSP diagnostic visualizer that maps language server errors and warnings directly onto the buffer tabs. It enables UI customization through adjustable tab shapes and underline indicators to emulate the appearance of graphical text editors. The plugin includes capabilities for
nvim-dap is a Neovim plugin that serves as a client implementation of the Debug Adapter Protocol. It provides a language-agnostic debugger interface that integrates external debugger binaries into the editor, allowing users to manage breakpoints and step through code. The project enables remote process debugging by attaching to running processes or containerized applications via TCP sockets and network proxies. It supports connecting to debug adapters through standard input/output or TCP, with specialized support for launching and attaching to Java processes. The plugin covers program execut
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
fzf-lua is a fuzzy finder integration for Neovim that utilizes fzf to search files, buffers, and project symbols. It serves as a code navigation framework providing a dynamic result generator that populates search windows using real-time shell commands or custom Lua functions. The project distinguishes itself through specialized integration tools for Git and Language Server Protocols. It includes a Git search interface for navigating commits, branches, stashes, and diffs, alongside an LSP integration tool that bridges language server providers to locate definitions and references across a cod
markdown-preview.nvim is a real-time browser-based previewer for Markdown files written within the Neovim text editor. It functions as a live Markdown renderer that converts source text into HTML and provides a synchronized scroll interface to coordinate the editor and the browser preview window. The tool allows for visual customization through a Markdown CSS customizer, enabling the application of custom stylesheets to the rendered documents. It also supports the embedding of local image assets and the rendering of technical diagrams, charts, and mathematical formulas. The system manages th
indent-blankline.nvim is a visual utility for Neovim that improves document readability by rendering vertical alignment lines. This plugin serves as an indentation guide tool designed to clarify the structure of nested code blocks. The plugin utilizes Tree-Sitter parsing to function as a scope highlighter, drawing visual boundaries around variable and function scopes. This allows for the visualization of identifiers and block boundaries based on the language's syntax tree. The system manages code structure visualization through indentation guides and scope-based highlighting. It uses virtual
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