Neovim
Vim-fork focused on extensibility and usability.
Contents
Plugin Manager
A configuration switcher written in Lua. Inspired by chemacs.
A modern plugin manager, featuring a graphical interface, async execution, a lockfile and more.
Plugins discovery tool with hourly updated database, and one-key installation for lazy.nvim and vim.pack.
A modern approach to plugin management using LuaRocks, inspired by Cargo.
A stupidly simple way to quickly install plugins.
Neovim Lua Development
mini.test
A GitHub action that publishes your Neovim plugins to LuaRocks.
Commands to help write your .vimrc in Lua or any Lua based language.
Plenary: full; complete; entire; absolute; unqualified. All the Lua functions I don't want to write twice.
Single file, no dependency, easy copy and paste log file to add to your Neovim Lua plugins.
REPL/debug console Lua plugins. The :Luadev command will open an scratch window which will show output from executing Lua code.
An adapter for the Neovim Lua language that allows debugging any Lua code running within a Neovim instance.
A Lua UI library. Includes a fzy search bar, list view and tree view modules.
A handy scratch pad / REPL / debug console for Neovim Lua development.
WezTerm config type annotations for LuaLS, including support for community plugins.
LSP
Lightweight, asynchronous that uses the LSP to show references to functions, methods, types and other.
This is a plugin/library for generating statusline components from the built-in LSP client.
A light-weight LSP plugin based on the built-in LSP with a highly performant UI.
The plugin shows a lightbulb in the sign column whenever a textDocument/codeAction is available at the current cursor position.
Provides an incremental LSP rename command based on the command-preview feature.
Previewing native LSP's goto definition calls in floating windows.
Provide inline virtual text displaying TypeScript types for the inspected variables.
Learn existing code quickly and navigate code like a breeze. A swiss army knife makes exploring LSP and Tree-sitter symbols a piece of cake.
A significantly enhanced and refactored fork of symbols-outline.nvim.
A simple popup display that provides breadcrumbs like navigation features using LSP.
Enhance the lspconfig settings for Texlab by defining any number of custom LaTeX build engines and selecting them with magic comments.
An asynchronous linter plugin, complementary to the built-in Language Server Protocol support.
Provides a better experience while using Metals, the Scala Language Server, using the built-in LSP support.
A simple wrapper for nvim-lspconfig and mason-lspconfig to easily setup LSP servers.
Extensions for the built-in LSP support for the Eclipse JDT Language Server.
Inline diagnostics popup-highlight much like coc-nvim but based on vim.diagnostic.
Seamless integration for Haskell development tools like haskell-language-server and Hoogle.
Off-spec clangd features for the built-in LSP client.
A pretty window for previewing, navigating and editing your LSP locations.
Display function references above function definition like IDEA codelens.
Status line component showing the number of LSP definition and reference of the token under the cursor.
Display references, definitions and implementations of document symbols.
An unofficial collection of linters and formatters configured for efm-langserver to work with built-in LSP.
An unofficial collection of linters and formatters configured for diagnostic-languageserver to work with built-in LSP.
Automatically start/stop idle/unused LSP servers; keeps RAM usage low.
Null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
Auto-load/Auto-unload none-ls sources installed with mason. It supports built-in sources and external sources.
A heavily modified fork of rust-tools.nvim that does not require a setup call and does not depend on nvim-lspconfig.
Automatically resolves imports for undefined terms. Useful with pyright language server.
Provides LSP features and a nvim-cmp completion source for languages embedded in other documents.
Quickly pop-up some LSP-powered information of the thing your cursor is on.
Garbage collector that stops inactive LSP clients to free RAM.
Display prettier diagnostic messages. Display one line diagnostic messages where the cursor is, with icons and colors.
Display LSP inlay hints at the end of the line, rather than within the line.
Provides a simple way to run and visualize code actions with Telescope.
Jump to next/previous LSP reference for item under cursor with ]r/[r.
Bundle VSCode ESLint language server and utilize the native LSP client to provide a all-in-one ESLint experience.
Highly customizable hover formatter, extendable to blink.cmp. As native hover supports multiple LSP servers.
In-process LSP server for custom code actions, enhanced actions picker, community actions library and a convenient interface to create your own actions.
DocString generator that helps writing function/classes docstrings in formats like google, numpy, sphinx with live preview.
LTeX LSP extension providing external file handling (rules and dictionaries).
TypeScript language server shim that bridges the built-in LSP client with tsserver.
Instantaneous LSP symbol reference highlighting under the cursor.
Progressively expand and collapse TypeScript type aliases inside the hover float.
Interactive LSP type and call hierarchy explorer with a tree view, live preview, navigation breadcrumbs, and a custom node renderer.
LSP Installer
Diagnostics
Enhances the display of virtual text for diagnostics. This function aims to provide a more user-friendly and informative presentation of diagnostic messages directly within the editor.
A pretty diagnostics list to help you solve all the trouble your code is causing.
AI powered diagnostic debugging, helps explain complex errors and offers custom tailored solutions.
Add inline-comments to ignore rules, or lookup rule documentation online.
Populate diagnostics for all projects files, not just the opened ones.
Completion
Fast as FUCK completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
hrsh7th/nvim-cmp
AI
Chat interface for AI ACP providers such as Claude, Gemini, Codex, OpenCode and Cursor.
Command and skill completion for Claude Code and Codex-style prompt editors, configurable from local agent command and skill directories.
Minimalist command based AI coding with a powerful template system. Supports Ollama, OpenAI and more.
GPTModels - a stable, clean, multi model, window based LLM AI tool.
ChatGPT like sessions and instructable text/code operations in your favorite editor.
Effortless Natural Language Generation with OpenAI's ChatGPT API.
A lightweight, extensible chat plugin with AI integration, multiple providers, and built-in tools.
Simple interaction with ChatGPT in a Markdown buffer. Supports GPT-4 and Azure OpenAI.
Integrate LLMs via a prompt builder interface. Multi-providers including OpenAI (+ compatibles), PaLM, Hugging Face, and local engines like llamacpp.
Integrate LLMs for generating code, interacting with chat bots, and more.
Generate text using LLMs (via Ollama) with customizable prompts.
Copilot Chat like experience, complete with inline assistant. Supports Anthropic, Gemini, Ollama and OpenAI.
Provide a simple yet flexible way to construct and send questions to ChatGPT.
Free, ultrafast Copilot alternative. Supports LSP and Tree-sitter.
Seamlessly integrate Aider for an AI-assisted coding experience.
A chat interface for GitHub Copilot that allows you to directly ask and receive answers to coding-related questions.
This is a general purpose AI source for nvim-cmp, easily adapted to any REST API supporting remote code completion.
Minuet offers code completion from LLM providers including OpenAI (compatible), Gemini, Claude, Ollama, Deepseek and more providers, with support for nvim-cmp, blink.cmp and virtual-text frontend.
Free large language model (LLM) support, provides commands to interact with LLM.
Leverage coding assistants for chat and code generation. Provides tools for the AI/LLM agent to explore and edit your code, like Aider, Cursor and Windsurf.
Cursor-like effortless natural language generation with multiple AI providers including Ollama, Anthropic (Claude), and ChatGPT.
Seamless integration with goose - work with a powerful AI agent without leaving your editor.
In-editor chat powered by Simon Willison's LLM CLI: stream replies in a Markdown buffer, manage rich context (files, URLs, selections, diagnostics, shell outputs), switch models interactively, and even see token-usage stats.
Chat with Markdown files using AI models from xAI, OpenAI and Anthropic.
Snacks picker integrations for previewing CodeCompanion prompts and Skills (using OpenSkills).
Tool for importing VSCode's Markdown prompts into CodeCompanion.
Shows the token count for the current buffer, with integrations for Lualine and NeoTree.
Cursor-style inline AI editing. Select code, describe the change, and get an inline, highlighted edit you can accept or reject—similar to Cursor inline workflow.
Code Runner
Yet Another REPL, flexible, supporting multiple paradigms to interact with REPLs, and native dot repeat without other dependencies.
The best code runner you could have, with super powers.
Task runner with JSON/YAML configs, using toggleterm.nvim and telescope.nvim.
Run and manage project jobs, supporting VSCode's tasks.json spec.
A modular task runner for Makefiles, VSCode tasks, kitchen etc.
A stateful task manager focused on integration with build systems.
Asynchronous compilation using the compiler-explorer REST API.
Task runner with focus on rapidly changing personal tasks.
Allows you to run command line tasks in the background and be notified of results.
Compiler for building and running your code without having to configure anything.
A simple and quick task launcher which allows dynamically configuring tasks on the fly, with optional support for debugging.
Enables running code chunks via the Jupyter kernel. Output (including image output) is rendered in a floating window below the code.
Another highly configurable task manager that enables seamless interaction with tasks.
Run your projects and files quickly with keybindings, and configure how to run them on the fly.
Run Python code, execute Jupyter cells, debug, and explore variables.
Programming Languages Support
Interactive Java file creator with automatic package detection, supporting classes, interfaces, enums, records and abstract classes.
Tiny plugin to quickly switch Python virtual environments without restarting.
Asynchronous project-wide TypeScript type-checking using the TypeScript compiler (tsc) with results loaded into a quickfix list.
A port of Matt Pocock's ts-error-translator for VSCode for turning messy and confusing TypeScript errors into plain English.
Preview Typst documents in the browser, instant update on each keystroke, and cross jump between code and preview.
Haskell syntax highlighting which considers variable scopes. Inspired from "Context Coloring" by prof. Douglas Crockford.
Use Neovim as your default Unity editor with full LSP support via OmniSharp.
Batteries-included development environment for the Defold game engine.
Provides completion, hover and other language server features for Podman Quadlet files.
Golang
A lightweight plugin to manage struct field tags in Go files.
A better structured display of Golang symbols information.
YAML
Web Development
Easy to use HTTP client with IntelliJ (JetBrains) HTTP client syntax compatibility.
Easily visualize the content of your CSS variables in a virtual text.
Quickly highlight the color you defined in your CSS variables with the help of mini.hipatterns.
Expose your local server to the internet with cloudflared or ngrok.
Internationalization (i18n) management with LSP support for Vue, React, Java and more.
Display 'use client' markers inline in your JSX code to visualize client component boundaries.
Markdown and LaTeX
Preview Markdown on your modern browser with synchronised scrolling and flexible configuration.
Markdown preview in the browser using pandoc and live-server through the job-control API.
Plugin for creating automatic updating-as-you-type previews for Markdown, LaTeX and other documents.
Configurable tools for Markdown files, including inline-style, link, and navigation keymaps, table of contents, improved list editing, and more.
Improve viewing Markdown files directly.
Generate TOC in any Markdown file from any other Markdown file with customisable levels of headings and affordances for emojis and ensuring that it works on GitHub using relative paths.
A hackable Markdown, Typst, LaTeX, HTML (inline) and YAML renderer.
Markdown format plugin like vim-table-mode but write in Lua.
Telescope extension to search and paste BibTeX entries into your TeX files.
A Markdown equation previewer, using kitty Graphics Protocol.
Provides a full editing experience for Markdown files which includes support for lists, links, TOC, and more with simple and fast keymaps.
Easily insert and edit Markdown tables with a live preview and useful helpers.
Implementation of Emacs' prettify-symbols-mode to visually replace text patterns with Unicode symbols while editing LaTeX and Typst files.
Tree-structured editing for Markdown bullet lists with subtree text objects, Alt+hjkl navigation, and structural operations.
PHP
Powershell
Language
Translate your text with an interactive translation window.
A Vietnamese input method engine with native support to type Vietnamese in insert mode.
A powerful AI-powered translation plugin, leveraging OpenAI's GPT models to provide high-quality translations with natural language understanding.
OS-independent Korean input method that converts English inputs to Korean in-place.
Improve grammar and spelling errors in multiple languages using LLMs.
Translates text using the DeepL API with multiple output modes (float, replace, append).
Syntax
Create your own textobjects using Tree-sitter queries.
Location and syntax aware text objects which do what you mean.
A plugin for adding/changing/deleting surrounding delimiter pairs.
Tree-sitter grammar and LSP query configuration for GitHub Actions.
Generic log syntax highlighting and log filetype management support.
Snippet
Register
Marks
Provides tagging, cursor tracking, and immediate navigation to important project files.
A better user experience for viewing and interacting with Vim marks.
A per project, auto updating and editable marks utility for fast file navigation.
Like harpoon, but with a different UX, single keybinding needed and statusline support.
Open the current word with custom openers, GitHub shorthand for example.
TrailBlazer introduces a stack based mark system that enables a completely new dynamic and super fast workflow using project wide marks.
Manage line bookmarks with Telescope integration and SQLite storage.
Like harpoon, but with key differences like project path, split support, no UI.
Recall refines the use of marks by focusing on global marks, streamlining their usage and enhancing their visibility and navigability.
Enhanced mark with description. Track the thought process of reading source code.
Sane project-wise bookmarks with persistent storage based on LSP.
Improved global marks and project wide bookmarks, to quickly navigate files.
Behind the scenes, global marks management for different projects.
Simple harpoon alternative that focuses on marking and navigating between files.
Sticky note bookmarks, per Git branch with hover annotations and Telescope integration.
Search
Adds highlights to any text matching the current selection in visual mode.
Helps you better glance searched information, seamlessly jump matched instances.
Highlights the current /, ? or * match under your cursor when pressing n or N and gets out of the way afterwards.
Space Age seD integration. Batch file edit tool, a wrapper for sad.
Search and replace in multiple files at the same time from the current working directory.
Auto remove search highlight and rehighlight when using n or N.
Quickly get RipGrep results into an editable Quickfix list, while learning RipGrep's CLI.
A Telescope picker to quickly access plugins configurations from the lazy.nvim spec.
Buffer-based live search and replace with full power of rg flags. Grug like.
Search and replace in the current buffer or workspace with incremental preview, a convenient UI, and modern regex syntax.
Frequency and recency sorter for any Telescope picker.
Simple, effective, search and replace functionality for the pragmatic engineer.
Fuzzy Finder
Telescope.nvim is a highly extendable A highly extensible fuzzy finder over lists.
A Lua API for using FZF. Allows for full asynchronicity for UI speed and usability.
An extensible fuzzy finder. Similar to Telescope, and optimized for performance, especially when grepping in large codebases.
The Lua version of fzf.vim, high-performance and fully async, supports nvim-web-devicons, Git indicators, LSP, quickfix/location lists and more. Also supports skim as its fzf binary.
Telescope integration for zoxide, a smart directory picker that tracks your usage.
Easypick lets you easily create Telescope pickers from arbitrary console commands.
Telescope plugin for better rg flags in live_grep.
Preview images, pdf, epub, video, and fonts using Telescope.
Telescope extension to switch between headings of AsciiDoc, Markdown, Vimdoc, etc.
Flexible and sleek fuzzy picker, LSP symbol navigator, and more.
Fuzzy file picker with a standalone native implementation of file indexing and typo resistant fuzzy matcher. Includes all the QOL features, file previews (and images), frecency sorting, last query matching, proximity, Git status bonuses and much more.
Simple fuzzy finder, including files, ctags outline, and more.
File Explorer
Similar to fm-nvim, this provides integration for several popular terminal file managers (including yazi).
Browse the file system and other tree-like structures in whatever style suits you, including sidebars, floating windows, netrw split style, or all of them at once.
Project
Project's root directory and documents Indentation detector with project based config loader.
Loads Neovim config depending on the project directory.
Project manager with project root detection, documented code and lots of improvements, including snacks.nvim, fzf-lua and picker.nvim support.
Telescope picker to jump to any repository (Git or other) on the file system.
Alternate between common files using telescope.
Makes sure to always start telescope (and only telescope) from the project/root directory.
Telescope extension to move between directories blazingly fast.
All you need is just an easier way to cd to another project directory.
Lightweight root swapper that uses lcd to swap to the appropriate root directory based on the current buffer.
Easily load project-local settings (like .vscode/settings.json) into Neovim 0.11+ native LSP settings.
Buffers
Pin files to specific keys within a project workspace, giving you quick access to your most important files.
Add one or more buffers, reorder them, save them inside a file or just delete them very easily from a small floating window.
Delete multiple Vim buffers based on different conditions.
Send buffers into early retirement by automatically closing them after x minutes of inactivity.
Set a maximum number of buffers to keep open and intelligently delete the oldest buffers over the maximum.
Color
A high-performance color highlighter which has no external dependencies.
An extremely lightweight plugin (~ 120loc) that highlights ranges you have entered in commandline.
Dim inactive portions of the code you're editing using Tree-sitter.
Provides utils to work with colors (picker, conversion).
Highlight multiple word same time and navigate word under cursor with scrolling smoothly, display search count in virualtext.
Dynamic Colorscheme/highlight adjuster on window switching.
Set global and window-specific highlights or trigger callbacks when modes/operators change or windows are switched.
Highlight cursor and visual selections when entering command mode.
Automatically updates nvim-web-devicons colors based on your current colorscheme.
Dim, fade, tint, animate, and customize colors in your windows and buffers.
Colorscheme
Code's quiet companion. A minimalist colorscheme, written in Lua.
Dark and opinionated with selective highlighting aiming to be readable at a glance.
Pragmatic and monochrome theme with the goal to increase reading speed and reduce eye strain by highlighting only what is needed.
A fork of folke's tokyonight.nvim with a different color palette.
A (mostly) faithful port of the classic blue theme from TextMate.
It's a port of Min, a minimal theme for VSCode, written in Lua.
A unique in-between theme inspired by LYT-Mode for Obsidian. Not quite dark, not quite light — just right.
It's a port of the popular VS Code theme Vesper, written in Lua.
The primary stinvim distro colorscheme includes the default feature of dimming inactive windows, along with various other customization options for users.
Colorscheme written in Lua, specially made for roshnivim with Tree-sitter support.
Customizable colorscheme with excellent italic and bold support, dark and light variants. Made to work and look good with Tree-sitter.
A dark color scheme heavily inspired by the look of the Dark+ scheme of VSCode.
A Lua port of vim-code-dark colorscheme with VSCode light and dark theme.
Material.nvim is a highly configurable colorscheme written in Lua and based on the material palette.
A dark midnight colorscheme with Tree-sitter support.
A dark charcoal colorscheme with Tree-sitter support.
Nvcode, onedark, nord colorschemes with Tree-sitter support.
A clean, dark and light theme written in Lua, with support for LSP, Tree-sitter and lots of plugins.
Desert theme from Vim ported to Neovim and made modern with 12 variants, a collection of dark themes for every color of the rainbow.
A dark and light theme written in Fennel, inspired by IBM Carbon.
A colorscheme with handcrafted support for LSP, Tree-sitter.
A port of the great Atom theme. Beautiful, dark colour scheme.
This is a color scheme developed by Protesilaos Stavrou for emacs.
A collection of modern colorschemes: material, moonlight, dracula (blood), monokai, mariana, emerald, earlysummer, middlenight_blue, darksolar.
Warm colorscheme written in Lua with support for various terminal emulators.
Nord theme, but warmer and darker. Supports a variety of plugins and other platforms.
Dark solarized colorscheme using colorbuddy for easy customization.
Purple-hued dark mode colorscheme; a complete rewrite of shaunsingh/moonlight.nvim.
A One Dark Theme written in Lua based on Atom's One Dark Theme.
Gruvbox modification with softer contrast and Tree-sitter support.
A green based colorscheme designed to be warm, soft and easy on the eyes.
A port of the VSCode Calvara Dark theme with support for Tree-sitter and many other plugins.
Codeschool colorscheme written in Lua with Tree-sitter and built-in LSP support.
A GitHub theme, kitty, alacritty written in Lua. Support built-in LSP and Tree-sitter.
A 16-bit monochrome colorscheme that uses HSLuv for perceptually distinct gray colors, with support for Tree-sitter and other commonly used plugins.
All natural pine, faux fur and a bit of soho vibes for the classy minimalist.
A collection of Vim/Neovim colorschemes designed to highlight code using contrasts and font variations.
Warm mid-tone dark theme to show off your vibrant self! With support for native LSP, Tree-sitter, and more.
Curated color palettes inspired by paintings from the Savitsky Museum, built on top of catppuccin.
A soft dark, fully customizable colorscheme with support for LSP, Tree-sitter and a variety of plugins.
A minimal Vim theme for night time. Loosely based on vim-vim-monotonic and chrome's dark reader extension. A light theme is included as well for the day time.
Colorscheme written in Lua based on the Apprentice color palette with Tree-sitter and built-in LSP support.
Atom's iconic One Dark theme. Cacheable, fully customisable, Tree-sitter and LSP semantic token support. Comes with light and dark variants.
A colorscheme that combines the Nord and Atom One Dark color palettes for a more vibrant programming experience.
A zephyr-esque theme, written in Lua, with Tree-sitter support.
A dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
Remixed light and dark Kanagawa colourschemes with muted colors.
A low-contrast dark colorscheme with support for various plugins.
A dark color scheme written using Lush. Tree-sitter supported.
An espresso/kimbie inspired chocolatey theme adapted from ellisonleao/gruvbox.nvim theme as a code template.
A colorscheme ported from VSCode Dark+ theme with the strict and precise color picking for both the editor and UI.
A soothing colorscheme with support for popular plugins and Tree-sitter.
Colorscheme based on GNOME Adwaita syntax with support for popular plugins.
An arctic, north-bluish clean and elegant theme, based on Nord Palette.
A modern black theme with comfortable color contrast for a pleasant visual experience, with LSP and Tree-sitter support.
A colorscheme written in Lua ported from Dark Flat iTerm2 theme, with LSP and Tree-sitter support.
A colorscheme that features a combination of bright and juicy colors reminiscent of various citrus fruits, with LSP and Tree-sitter support.
A dark pastel color scheme inspired by the woods. Built using lush and supports Tree-sitter, diagnostics, CMP, Git-Signs, Telescope, Which-key, Lazy, and more.
A light colorscheme inspired by flatwhite-syntax and elegant-emacs.
A dark colorscheme, which mostly was inspired by the Monokai originally created by Wimem Hazenberg.
A dark colorscheme inspired by Inkpot, Jellybeans, Gruvbox and Tokyonight with LSP support.
A dark/light theme based on the Monokai color palette written in Lua, support for LSP, Tree-sitter and lots of plugins.
A Night Owl colorscheme port from VSCode with support for Tree-sitter and semantic tokens.
Accessible theme, conforming with the highest standard for color contrast (WCAG AAA).
Palenight colorscheme supporting Tree-sitter, LSP (including semantic tokens) and lots of plugins.
A high-contrast, futuristic and vibrant coloursheme.
A colorscheme sitting somewhere between pastels and solarized, emphasizing readability and hue uniformity above all else.
A dark and earthy colorscheme supporting Tree-sitter and LSP.
A fancy and sophisticated colorscheme for night and day coding. Supports LSP, Tree-sitter and all the plugins you love.
A delightful mostly grayscale colorscheme that is soft on the eyes, and supports heaps of plugins.
Carefully designed colors to help focusing during coding plus fluorescent details. Support many plugins and tools.
A soothing and dark Tree-sitter/LSP-supported theme for relaxing your eyes after using more vibrant colorschemes.
A pastel dark colorscheme inspired by the palette Mellow. Support Tree-sitter, LSP (including semantic tokens) and lots of plugins.
A port of alduin theme to Lua with Tree-sitter and semantic highlights support.
A theme compatible with Tree-sitter inspired by gruvbox.nvim.
A dark theme with support for transparency, dimming, LSP semantic tokens and more.
A rich green theme with dark and light options. Supports LSP, transparency, many plugins, and more.
Lua port of selenized with support for Tree-sitter, nvim-cmp, GitSigns, and more.
A new gruvbox theme with a different background color for the hard variant, and comes with 4 variants.
A Gruvbox Material theme conceptually inspired by Alabaster.
Dark neon colorscheme with green, cyan, yellow, and red highlights on a black background.
Theme with distinct syntax colours. Supports Tree-sitter and semantic highlighting. For people who love multi-colour syntax highlighting.
A colorful theme with dark/light modes and adjustable contrast. Supports Tree-sitter and semantic highlighting.
A balanced dark theme, blending vivid and pastel colors for a comfortable, high-contrast experience. Supports Tree-sitter and semantic highlighting.
Elegant pastel colorschemes with advanced customization, styles, and integrations.
Token has warm tones and careful contrast, with full Tree-sitter and LSP integration.
A semantic colorscheme with a perceptual OKLCH engine, featuring four semantic roles and both dark and light variants.
Vibrant cyberpunk color system with five variants, 40+ plugin integrations, WCAG AA compliant. Supports multiple editors, terminals and CLI tools.
Aquarium-themed color scheme, designed for use with a transparent terminal background.
Colorscheme Creation
A colorscheme helper. Written in Lua! Quick and Easy Color Schemes.
Define Neovim themes as a DSL in Lua, with real-time feedback.
A colorscheme generator that is "lite" on logic for the developer.
A simple highlighter with a huge collection of colorschemes. It also has ability to create colorschemes for Vim/Neovim and other supported apps (such as kitty and alacritty).
A colorscheme micro-framework, with support for specifying colors directly in many different formats (sRGB, HSL, Oklab, XYZ and more, with intelligent chroma clipping), live editing preview, and a simple DSL.
Colorscheme Switchers
Cycle between colorschemes using either custom or autogenerated which-key.nvim bindings.
Fast colorscheme switcher following GNOME system's light/dark mode (based on gsetting monitor).
A fast, lightweight and powerful theme switcher written in Lua.
A new way to change the colorscheme on the fly like in VSCode.
Load all the ultra colorschemes into your Neovim player.
Install any colorscheme in your config without leaving your terminal. Collects every colorscheme on the internet and allows you to preview them all before installing.
Gardenal is a theme switcher, which allows the user to create keyboard shortcuts to switch between themes with one click.
Bars and Lines
A simple statusline/winbar component that uses LSP to show your current code context.
Configurable 'statuscolumn' with built-in segments and click handlers.
Fully customizable bars and lines components with no presets nor constraints.
A starting point/guide for creating custom statusline, statuscolumn, tabline and winbar.
A light-weight and super fast statusline plugin written in Lua.
A statusline / bufferline inspired by vim-airline that aims to be as light and simple as possible.
A zero-config minimal statusline written in Lua featuring awesome integrations and blazing speed.
A modern lightweight statusline in Lua. Mainly uses unicode symbols for showing info.
Lightweight floating statuslines, intended for use with Neovim's new global statusline.
A no-nonsense statusline designed around recursive inheritance to be exceptionally fast and versatile.
30+ heirline.nvim components to be used out of the box to create the perfect user interface.
A fast, light, customizable statusline and tabline (buffers).
Tabline
Startup
Icon
Media
A simple music player powered by mpv, written in Python, including a Telescope browser.
A cross platform terminal image viewer. Works on macOS and Linux.
Effortlessly embed images into any markup language, like LaTeX, Markdown or Typst.
Allows you to upload images to the image bed, allowing viewing images from anywhere on the internet.
Add image support through kitty's graphics protocol or ueberzugpp.
Image preview based on terminal's Image Protocol support.
Note Taking
Take notes, TODOs from anywhere inside your project, search all TODOs, get reminders and more.
A developer-centric knowledge base with project/branch scoped notes, bi-directional linking, note-tagging, graph-view, telescope integration, and Git synchronization.
Minimal Markdown knowledge management with relational note navigation and safe file operations.
Take persistent code notes without modifying code.
Fluent Markdown notebook navigation and management (create links, follow links, create and manage to-do lists, reference bib files, and more).
Modernity meets insane extensibility. The future of organizing your life.
Work with a text-based, Markdown zettelkasten / wiki and mix it with a journal, based on telescope.nvim.
Provides integration with zk, a plain text note-taking assistant.
A super fast minimal scratchpad management plugin, biew biew biew.
Managing notes, TODO's, journal entries, and your inbox, all with Markdown.
Effortlessly manage scratchpads within your favorite editor.
The modern vimwiki successor offering a minimal, intuitive workflow out of the box for note-taking and Getting Things Done (GTD).
Joplin notes utilities: tree browser, search, open, and Telescope integration.
Various utilities to enhance the studying and note-taking experience.
Integration with IWE, an LSP designed for Markdown-based knowledge management and note-taking workflows.
Quick note-taking in Markdown with both repo-specific and global notepad support.
Utility
Colorful highlighting of ASCII art in Markdown code blocks.
A powerful lua-lib-math in-buffer calculator with visual mode, functions and variable support.
A port of Assorted Biscuits. Ends up with more supported languages too.
Open URLs under the cursor and create highlight effects for them.
A collaborative editing plugin written in Lua with no dependencies.
Neovim API utility wrapper for more convenience with Lua keymaps, highlights, autocommands and options.
Limits relative numbers to only show left-hand digits on the keyboard.
"On this day" style calendar, which provides information about worldwide history of working class movements and liberation struggles.
Create and manage scratch files, scratch templates, with picker integrations.
Secure edition of files containing sensible / secret information, passwords, API keys, SSH keys, etc.
Hide sensitive values in configuration files during screen sharing by visually masking secrets in .env, .json, .yaml, .toml, and .properties files.
Distro agnostic updater to get the latest changes from the Git repository of your config.
Snapshot plugin with rich features that can make pretty code snapshots.
Code screenshot plugin that makes use of freeze inside the editor.
Encode and decode text using various codecs such as base64.
Sophisticated all-in-one toolkit to work with .env files and environment variables.
Easily convert between binary representations without a conversion table.
Convert JSON objects to type definitions for multiple languages.
Encode, decode and re-encode text using Base64, Base64URL and URL (percent) encodings.
Take control of your edit history with an interactive timeline, diff previews, taggings, live reloading trees and cleanup functions.
Realtime weather and earthquake alerts with support for lualine integration (no API key required).
A very small "Did you mean" plugin, suggesting files the user might have wanted to open instead of creating a new one.
Explore JSON, YAML, and TOML files as nested unit/node-based graphical representations.
Get famous quotes from history to display on startup.
Toggle between common code keywords under the cursor such as true ⇄ false, on ⇄ off, enabled ⇄ disabled, and dev ⇄ prod.
Use any language that compiles to Lua anywhere in your Neovim configuration.
Text to speech tool based on the Microsoft Edge online services.
A lightweight, configurable random quote provider with lazy loading, custom tables, and filters.
Unobtrusive relative line numbers in the sign column.
Animation
Smooth, high‑performance motion and scrolling animations — 60fps fluid cursor moves, word jumps, and viewport scrolling, all in one.
Animate the cursor with a smear effect in all terminals. Inspired by Neovide's animated cursor.
Animated glow/highlight effects for editing operations (undo, redo, yank, paste, etc.) with fully customizable animations and appearance.
Terminal Integration
Run commands in a floating terminal and keep track of the last command executed per CWD, making it easy to repeat build or test commands.
A floating-window terminal session manager, offering elegant multi-terminal organization, live previews, and intuitive navigation with modern UI design. Manage, switch, and customize multiple terminals effortlessly.
Seamless terminal workflow integration with smart picker-based terminal selection, flexible text sending and persistent configuration.
A tiny (<200 LOC) but highly customizable floating terminal manager.
Open files from terminal buffers in your current Neovim instance instead of launching a nested instance.
A high performance filetype mode which leverages conceal and highlights your buffer with the correct color codes.
Poor man's REPL. Easily send buffer lines and commands to a kitty terminal.
A fully integrated terminal IDE built on Neovim, tmux, and scriptable workflows.
Automatic unnesting of Neovim sessions started from terminal buffers.
Attach a terminal for each buffer, now with stable toggle and astonishing cursor restoring.
Allowing you to edit your command in the terminal just like any other buffer.
Interactive Script playbooks for your terminal (optionally with Tmux).
Debugging
Annotate your code with callgraph profiling data. Native support for perf, flamegraph and the LuaJIT profiler.
Speed up log creation. Creates various kinds of language-specific log statements, like logs of variables, assertions, or time-measuring.
Render Pandas dataframes in nvim-dap using the power of visidata.
Manage and create advanced breakpoints with virtual text and popup reveal for nvim-dap.
Deployment
Test
An extensible framework for interacting with tests within Neovim.
Run your tests in split window or popup with live feedback.
Opens or creates the matching PHPUnit test file for a given class, based on PSR-4 namespace mappings.
Fennel
Zero-overhead Fennel JIT compiler with safety rollbacks and parinfer-rust integration.
Streamlined successor to Aniseed, compiling Fennel to Lua on file write.
Interactive evaluation (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile).
Dependency Management
Display latest package version as virtual text in package.json.
Import modules faster based on what you've already imported in your project.
Python dependencies manager, with auto-adding to your requirements.txt file.
C# dependency manager with support for handling references between projects and solution files.
Git
Provides a better inline Git diff view, meant to be used alongside your favorite Git plugin (e.g. gitsigns).
A telescope picker to find which files and preview what changes have been made to your Git branch across multiple commits.
Generate Git permalinks, open them in your browser, load files locally from permalinks, and more.
A Magit clone that may change some things to fit the Vim philosophy.
A small plugin that uses the virtual text to print Git blame info at the end of the current line.
Maintained fork of "ruifm's gitlinker", refactored with bug fixes, ssh aliases, blame support and other improvements.
Single tabpage interface for easily cycling through diffs for all modified files for any Git rev.
Syntax highlighting for diffs with Tree-sitter support for vim-fugitive and &diff buffers.
Plugin using gfold to switch repo and have statusline component.
Search your Git history by commit content, message and author with Telescope.
Generate shareable HTTP permalinks for various Git web frontends.
Open/preview contents of the current file at a specific commit, without using git checkout.
Displaying inline unified diffs directly in your buffer.
Fast and simple utility to hunt and resolve merge conflicts.
Conventional commit scope completion that learns from Git history.
An asynchronous Git command wrapper plugin, using :Git command instead of :!git.
Interactive Git status window with support for staging, unstaging, and committing files.
Side-by-side diff with two-tier highlighting (line + character level) using VSCode's algorithm implemented in C.
An AI-assisted commit message generator following common commit conventions.
Diff between multiple Git commits, similar to JetBrains's Git log.
Write informative commits with persistent worktree-isolated drafts, visual 50/72 guides, and a Markdown buffer.
Simple commands to make life easier while working with Git.
GitHub
A fully featured GitHub integration for performing code reviews.
View and dispatch GitHub Actions workflow and GitLab CI pipeline runs.
Access all your gihub repos, stats and more in simple keystrokes.
Show the code owner(s) for files according to GitHub's CODEOWNERS specification.
Track PRs that need review automatically and open them in Octo.nvim.
Motion
Enhances gf/gF/gx with look-ahead and smarter file, line/column number, and link resolution. Also provides visual targets for files/links, new motion commands, and link description retrieval.
Jump based on labels to file paths, URLs, and Markdown links from any buffer.
Precognition uses virtual text and gutter signs to show available motions.
Hop is an EasyMotion-like plugin allowing you to jump anywhere in a document with as few keystrokes as possible.
A Sneak-like plugin offering unparalleled navigation speed via ahead-of-time displayed labels, that eliminate the pause between entering the search pattern and selecting the target.
A refined successor of Lightspeed, aiming to establish a widely accepted standard interface extension for moving around in Vim-like editors.
Another Leap extension for performing remote actions with a different approach.
Navigate your code with search labels, enhanced character motions and Tree-sitter integration.
An EasyMotion-like plugin for quick cursor movement using fuzzy search.
Jump between next/previous buffer, tab, diagnostic, etc, with a single key.
Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation.
Hops by any type of words. It gives fine control over w, e, b, ge movements.
Detects excessive key spamming (jjjj/kkkk) and suggests more efficient alternatives.
Tree-sitter Based
Region selection with hints on the AST nodes of a document powered by Tree-sitter.
Easy navigation around the Tree-sitter's tree that works in multi-language files and in normal mode.
Keybinding
Power and extend the ability of <C-a> and <C-x> with customized patterns.
Enhances insert mode key mapping by showing typed keys in real time, without waiting for timeoutlen. It provides a responsive and intuitive insert-mode experience, ideal for complex input workflows like ime.
Shows a popup with possible keybindings of the command you started typing.
Define your keymaps, commands, and autocommands as simple Lua tables, and create a legend for them at the same time (like VSCode's Command Palette), integrates with which-key.nvim.
Lua utility to map keys concisely using cascading trees. Also allows binding Lua functions to keys.
A ridiculously fun alternative keymap for the workman keyboard layout, with lots of powerful features for working with yank, marks, macros, LSP, and more. Built and configured with Lua.
Create and manage keybindings and commands in a more organized manner and search them quickly through Telescope.
Create custom submodes and menus. Port of Emacs Hydra. Maintained fork of anuvyklack/hydra.nvim.
Create shortcuts to escape insert mode without getting delay.
Utility to keymappings configuration using declarative cascading trees, optionally integrates with which-key.
Auto translating your mappings for non-English input methods.
Scrolling
Editing Support
Intelligently restore your cursor position when reopening files.
Add or update copyright and license headers in any source file.
Truncate long lines to keep track of where you are when the start gets lost off the left side of the screen.
Dimming the highlights of unused functions, variables, parameters, and more.
Invert text, such as toggling between true and false.
Context-aware backspace which handles pairs, whitespace and indentation.
Replace part of your code with the contents of the + register using textobjects.
Provides a mapping to split text by delimiter, giving an inverse of the native J command.
Automatically saves your work as often as needed and as seldom as possible. Customizable with smart defaults. Maintained fork of Pocco81/auto-save.nvim.
Automatically save all your modified buffers according to a predefined timeout value.
Shows floating hover with the current function/block context.
Interactively select and swap function arguments, list elements, and more. Powered by Tree-sitter.
Different way to swapping arguments and other siblings with Tree-sitter.
Swapping operands and operators in binary expressions: comparison and mathematical operations.
Switching and restoring input method automatically depends on Neovim's edit mode.
Text editing with immediate visual feedback: preview commands such as :norm, :g, macros and more.
New operator motions to quickly replace and exchange text.
Sorting plugin that intelligently supports line-wise and delimiter sorting.
A complete plugin for moving and duplicating blocks and lines, with complete fold handling, reindenting, and undoing in one go.
Duplicate lines and blocks of lines easily; undo and unfolding support; full OOP.
Move lines and blocks up and down easily, with indenting handled automatically as you move. Written in Rust.
Prevent the cursor from moving when using shift and filter actions.
Splitting/joining blocks of code like arrays, hashes, statements, objects, dictionaries, etc. Using Tree-sitter. Inspired by greatest splitjoin.vim.
A telescope extension to visualize your undo tree and fuzzy-search changes in it.
Extremely simple auto saving on InsertLeave and TextChanged. Based on Pocco81/AutoSave but lighter.
A framework for executing functional transformations on Tree-sitter nodes.
Automatically convert strings to f-strings or template strings and back.
Edit one occurrence of text and simultaneously have other selected occurrences edited in the same way.
Enable streamlined access to recent yanks and deletions in a quick-access popup menu.
Allow users to undo specific line/lines or partial selections without affecting the rest of the file.
Temporarily lock the paste register to "0, and use d, c, and s motions while keeping the most recent yanked content easily accessible.
Insert file path in the current buffer using Telescope.
Copy lines with file path and line number metadata for sharing code snippets with context.
Adds support for multiple cursors which work how you expect.
A multi-cursor plugin that works in normal, insert/replace, or visual modes, and with almost every command.
Comment
Smart and powerful comment plugin. Supports commentstring, motions, dot-repeat and more.
Highlight and configure TODO comments for tree-sitter-comment.
Toggle comments using the built-in commentstring option.
A commenting plugin which supports counts and multiple comment patterns and much more.
A better annotation generator which supports multiple languages and annotation conventions.
Sets the commentstring option based on the cursor location in the file. The location is checked via Tree-sitter queries.
Formatting
Strict, native code style formatting which exposes deep nesting, overlong lines, trailing whitespace, trailing empty lines, TODOs and inconsistent indentation.
An asynchronous, multitasking, highly configurable formatting plugin.
A synchronous formatter that combines both LSP and non-LSP formatting (e.g. shfmt, stylua, prettier). Focused specifically for format-on-save.
Indent
A minimal and blazing fast indentline plugin by using the nvimsetdecoration_provide API function.
IndentLine replacement in Lua with more features and Tree-sitter support.
A Lua implementation of nvim-hlchunk, contains more features, such as highlight {} chunk, indent line, space blank etc.
Command Line
Session
Simple session management with Git branching, autosave/autoload and Telescope support.
Flexible session management with arbitrary persistent data stored as JSON.
Remote Development
Duplicates the basic ground level functionality of VSCode's Remote-SSH plugin, with a focus on a local editing experience to avoid remote "lag". Browse remote files, edit "remote buffers" with a full local editing experience (LSP, Tree-sitter, Telescope integration, and a file watcher).
Edit files, run programs, and work with LSP on a remote machine from the comfort of your local environment.
Provide functionality similar to VSCode's remote container development plugin, with other functionalities that enable development in Docker containers.
Live Preview
Split and Window
Tmux
Collection of window functions which includes moving between, closing and maximizing Neovim splits and tmux panes.
Expand the functionality of :only with tmux panes in the same window, with either moving them to a new window or closing them.
Set up same key, like F5, to run any compile/run command per language, like make for C and cargo build for Rust, and have the project run or compile in a new tmux pane or window.
Tmux utilities that enable sending lines, capturing content, creating terminals, and managing REPLs.
Game
Competitive Programming
Workflow
Stats Tracking
Visualize and review your configuration activity with stats, insights, history, heatmaps and more.
Gamified stat tracker with XP, levels, achievements, and activity heatmaps for your coding sessions with lualine integration.
Use the Pomodoro Technique with built-in session tracking and break reminders.
Simple timer for creating time based productive sessions for coders, competitive programmers, developers etc.
Database
Preconfigured Configuration
The over-engineered Neovim distribution for developers who want everything.
CosmicNvim is a lightweight and opinionated config for web development, specifically designed to provide a COSMIC programming experience!
A fast general-purpose IDE written entirely in Lua with an installer for Linux/Windows/macOS and built-in :CodeArtUpdate command for updating it.
Full-fledged IDE powered by lazy.nvim to make it easy to customize and extend your config.
Security-focused IDE with a hackable (in the right way) framework based on Neovim and shell.
Custom configuration oriented for Full-Stack developers (Rails, Ruby, PHP, HTML, CSS, SCSS, JavaScript).
This project aims to help one transition away from VSCode, and into a superior text editing experience.
An attempt to make Neovim's CLI as functional as an IDE while retaining beauty with less bloat.
A modular configuration with a beautiful UI and some useful features such as a pomodoro clock and window numbers.
A predefined config to save you thousands of hours to setup Neovim as an IDE.
An aesthetic and feature-rich config that is extensible and easy to use with a great set of plugins.
Blazing fast, configurable, minimal and "lispy" config written in Fennel.
A very easy to use for backend and frontend, install LSP automatically.
A lightweight, aesthetically minimal config, written in Lua, able to provide for web and Java development.
This is a fork of nvim-lua/kickstart.nvim that moves from a single file to a multi file configuration.
A highly configured Neovim distribution integrated with tons of utilities for development, inspired by spf13-vim.
Configuration manager and a modular configuration on its own. Supports over 40 preconfigured configurations.
A simple Nix flake template repo for Neovim derivations, with the goal of simplifying the migration from existing Neovim configurations.
Cleaning up the default key mappings and plugins and leaving only the bare essentials to build upon.
A full-fledged Neovim distribution included by default in StratOS-Linux.
External
Version Manager
Plugin Template
OS-specific
Search Neovim plugins and online :help via Alfred (macOS).
Android build, deploy, and logcat commands with Gradle integration.
UI
A collection of interactive TUIs which provides rich, interactive UIs to various CLIs.
Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
Displays a notification window with context when cycling buffers.
Toggles smoothly between number and relative numbers, supporting various number combinations, highly customizable.