.github | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
Awesome Neovim
Collections of awesome Neovim plugins. Mostly targeting Neovim specific features.
Neovim is a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions.
Contents
- Wishlist
- UI
- Plugin
- Plugin Manager
- LSP
- Completion
- Markdown
- Syntax
- Terminal integration
- Snippet
- Register
- Marks
- Fuzzy Finder
- Note Taking
- Color
- Colorscheme Creation
- Colorscheme
- Utility
- Icon
- Debugging
- Spellcheck
- Neovim Lua Development
- Fennel
- Tabline
- Statusline
- Statusline component
- Cursorline
- Startup
- Indent
- Game
- File explorer
- Dependency management
- Git
- Programming languages support
- Comment
- Collaborative Editing
- Quickfix
- Motion
- Code Runner
- GitHub
- Search
- Scrollbar
- Scrolling
- Mouse
- Project
- Browser integration
- Editing support
- Formatting
- Web development
- Media
- Discord Rich Presence
- Command Line
- Session
- Test
- Competitive Programming
- Preconfigured Configuration
- Keybinding
- Tmux
- Remote Development
- Split and Window
- External
- Vim
- Resource
Wishlist
Have a problem a plugin can solve? Add it to the nvim-lua wishlist.
UI
Neovim supports a wide variety of UI's.
- CosmicNvim/cosmic-ui - Cosmic-UI is a simple wrapper around specific vim functionality. Built in order to provide a quick and easy way to create a Cosmic UI experience with Neovim!
- yatli/fvim - Cross platform Neovim front-end UI, built with F# + Avalonia.
- smolck/uivonim - Goal: Feature-rich cross-platform GUI that leverages the latest Neovim features.
- qvacua/vimr - Neovim GUI for macOS in Swift.
- vhakulinen/gnvim - GUI for Neovim, without any web bloat.
- Kethku/neovide - No Nonsense Neovim Client in Rust.
- beeender/glrnvim - A terminal wrapper that launches Neovim inside of alacritty.
- akiyosi/goneovim - Neovim GUI written in Golang, using a Golang qt backend.
- DinVim - DinVim for macOS is a safe and secure working macOS sandbox environment that provide true macOS experience for Vim users.
- RMichelsen/Nvy - A Neovim client in C++.
- asvetliakov/vscode-neovim - Neovim integration for Visual Studio Code.
- equalsraf/neovim-qt - Neovim client library and GUI, in Qt5.
- lunixbochs/actualvim - Sublime Text 3 input mode using Neovim.
- vv-vim/vv - Neovim client for macOS. A pure, fast, minimalistic Vim experience with good macOS integration. Optimized for speed and nice font rendering.
- jebberjeb/javafx-neovimpane - A JavaFX text pane, backed by Neovim, created with Clojure.
- rohit-px2/nvui - A modern frontend for Neovim.
- Lyude/neovim-gtk - A GTK3+ client written in Rust, ressembling a lot the original vim-gtk3 with ligatures support.
Plugin
Plugin Manager
- wbthomason/packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config.
- savq/paq-nvim - Neovim package manager written in Lua.
- NTBBloodbath/cheovim - Neovim configuration switcher written in Lua. Inspired by chemacs.
LSP
(requires Neovim 0.5)
- neovim/nvim-lspconfig - Quickstart configurations for the Neovim LSP client.
- nvim-lua/lsp-status.nvim - This is a Neovim plugin/library for generating statusline components from the built-in LSP client.
- nvim-lua/lsp_extensions.nvim - Repo to hold a bunch of info & extension callbacks for built-in LSP.
- RishabhRD/nvim-lsputils - Better defaults for nvim-lsp actions.
- tami5/lspsaga.nvim - A light-weight lsp plugin based on Neovim built-in lsp with a highly performant UI.
- onsails/diaglist.nvim - Live render workspace diagnostics in quickfix, buffer diagnostics in loclist.
- folke/trouble.nvim - A pretty diagnostics list to help you solve all the trouble your code is causing.
- folke/lsp-colors.nvim - A plugin that adds missing LSP diagnostics highlight groups for color schemes that don't yet support the builtin LSP client.
- kosayoda/nvim-lightbulb - The plugin shows a lightbulb in the sign column whenever a
textDocument/codeAction
is available at the current cursor position. - onsails/lspkind-nvim - The plugin adds vscode-like icons to Neovim lsp completions.
- ojroques/nvim-lspfuzzy - A small plugin to make the LSP client use FZF.
- gfanto/fzf-lsp.nvim - Enable the power of fzf fuzzy search for the Neovim built in lsp.
- ray-x/lsp_signature.nvim - Lsp signature hint when you type.
- rmagatti/goto-preview - Previewing native LSP's goto definition calls in floating windows.
- nanotee/sqls.nvim - Sqls (sql database connection plugin + LSP client) plugin for Neovim.
- jubnzv/virtual-types.nvim - Neovim plugin that shows type annotations as virtual text.
- jose-elias-alvarez/nvim-lsp-ts-utils - Utilities to improve the TypeScript development experience for Neovim's built-in LSP client.
- ray-x/navigator.lua - Learn existing code quickly and navigate code like a breeze. A swiss army knife makes exploring LSP and 🌲Treesitter symbols a piece of 🍰.
- liuchengxu/vista.vim - List all functions and variables in a window of your current file.
- simrat39/symbols-outline.nvim - A tree like view for symbols in Neovim using the Language Server Protocol. Supports all your favourite languages.
- tamago324/nlsp-settings.nvim - A plugin for setting Neovim LSP with JSON files.
- simrat39/rust-tools.nvim - Tools for better development in rust using Neovim's builtin LSP.
- stevearc/aerial.nvim - A code outline window for skimming and quick navigation.
- jose-elias-alvarez/null-ls - Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- jakewvincent/texmagic.nvim - Enhance the lspconfig settings for Texlab by defining any number of custom LaTeX build engines and selecting them with magic comments.
- nanotee/nvim-lsp-basics - Basic wrappers for LSP features.
- weilbith/nvim-code-action-menu - A floating pop-up menu for code actions to show code action information and a diff preview.
- mfussenegger/nvim-lint - An asynchronous linter plugin for Neovim (>= 0.5) complementary to the built-in Language Server Protocol support.
- b0o/SchemaStore.nvim - A Neovim Lua plugin providing access to the SchemaStore catalog.
- ldelossa/litee.nvim - Neovim's missing IDE features.
- fidget.nvim - Standalone UI for nvim-lsp progress.
- git.sr.ht/~whynothugo/lsp_lines.nvim - A Neovim plugin that renders diagnostics using virtual lines on top of the real line of code.
LSP Installer
- anott03/nvim-lspinstall - Easy to install language servers.
- alexaandru/nvim-lspupdate - Updates installed (or auto installs if missing) LSP servers.
- williamboman/nvim-lsp-installer - Easily install more than 50+ LSP servers - with full Windows support.
Completion
- ms-jpq/coq_nvim - Fast as FUCK Neovim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
- jameshiew/nvim-magic - Framework for integrating AI code assistance.
- hrsh7th/nvim-cmp - A completion plugin for Neovim written in Lua. New version of nvim-compe.
- hrsh7th/cmp-nvim-lsp - A nvim-cmp source for Neovim builtin LSP client.
- saadparwaiz1/cmp_luasnip - A nvim-cmp source for luasnip completion.
- quangnguyen30192/cmp-nvim-ultisnips - A nvim-cmp source for UltiSnips.
- hrsh7th/cmp-path - A nvim-cmp source for filesystem paths.
- petertriho/cmp-git - A nvim-cmp source for Git.
- hrsh7th/cmp-buffer - A nvim-cmp source for buffer words.
- tzachar/cmp-tabnine - A nvim-cmp source for TabNine.
- hrsh7th/cmp-nvim-lua - A nvim-cmp source for the Neovim Lua API.
- lukas-reineke/cmp-rg - A nvim-cmp source for Ripgrep.
- f3fora/cmp-spell - A nvim-cmp source for vim's spellsuggest.
- andersevenrud/compe-tmux - A nvim-cmp source for Tmux.
- David-Kunz/cmp-npm - A nvim-cmp source for NPM.
- lukas-reineke/cmp-under-comparator - A nvim-cmp function for better sorting.
- mini.completion - Module of echasnovski/mini.nvim for asynchronous two-stage completion. Supports showing completion item info and independent function signature.
Markdown
- ellisonleao/glow.nvim - Markdown preview using glow.
- davidgranstrom/nvim-markdown-preview - Markdown preview in the browser using pandoc and live-server through Neovim's job-control API.
- jghauser/auto-pandoc.nvim - Easy pandoc conversion leveraging yaml blocks.
- jghauser/follow-md-links.nvim - Press enter to follow internal markdown links.
- jakewvincent/mkdnflow.nvim - Markdown notebook navigation (follow internal and external markdown links, create links, jump to links, etc.)
- jubnzv/mdeval.nvim - A Neovim plugin that evaluates code blocks inside markdown documents.
- mjlbach/babelfish.nvim - A Neovim plugin to convert Markdown to vimdoc using Treesitter.
- kdheepak/panvimdoc - A pandoc to vimdoc GitHub action.
Syntax
- nvim-treesitter/nvim-treesitter - Neovim Treesitter configurations and abstraction layer.
- nvim-treesitter/nvim-treesitter-textobjects - Create your own textobjects using tree-sitter queries.
- RRethy/nvim-treesitter-textsubjects - Location and syntax aware text objects which do what you mean.
- blackCauldron7/surround.nvim - A surround text object plugin for Neovim written in Lua.
- mini.surround - Module of echasnovski/mini.nvim for working with text surroundings (add, delete, replace, find, highlight). Fully supports dot-repeat.
Terminal integration
- LoricAndre/OneTerm.nvim - Plugin framework for running commands in the terminal.
- nikvdp/neomux - Control Neovim from shells running inside Neovim.
- akinsho/nvim-toggleterm.lua - A Neovim Lua plugin to help easily manage multiple terminal windows.
- norcalli/nvim-terminal.lua - A high performance filetype mode for Neovim which leverages conceal and highlights your buffer with the correct color codes.
- numToStr/FTerm.nvim - No nonsense floating terminal written in Lua.
- oberblastmeister/termwrapper.nvim - Wrapper for Neovim's terminal features to make them more user friendly.
- pianocomposer321/consolation.nvim - A general-purpose terminal wrapper and management plugin for Neovim, written in Lua.
- jghauser/kitty-runner.nvim - Poor man's REPL. Easily send buffer lines and commands to a kitty terminal.
- jlesquembre/nterm.nvim - A Neovim plugin to interact with the terminal, with notifications.
- s1n7ax/nvim-terminal - A simple & easy to use multi-terminal plugin.
Snippet
- norcalli/snippets.nvim - Snippets in Lua.
- hrsh7th/vim-vsnip - Snippet plugin for vim/nvim that supports LSP/VSCode's snippet format.
- rafamadriz/friendly-snippets - Snippets collection for all kind of programming languages that integrates really well with vim-vsnip.
- L3MON4D3/LuaSnip - A snippet engine for Neovim written in Lua.
- dcampos/nvim-snippy - Snippet plugin written in Lua with support for vim-snippets.
- ellisonleao/carbon-now.nvim - Create beautiful code snippets directly from Neovim.
Register
- gennaro-tedesco/nvim-peekup - Dynamically interact with vim registers.
- tversteeg/registers.nvim - Non-obtrusive minimal preview of vim registers.
- acksld/nvim-neoclip.lua - Clipboard manager Neovim plugin with telescope integration.
Marks
- chentau/marks.nvim - A better user experience for viewing and interacting with vim marks.
- ThePrimeagen/harpoon - A per project, auto updating and editable marks utility for fast file navigation.
Fuzzy Finder
- nvim-telescope/telescope.nvim - Telescope.nvim is a highly extendable fuzzy finder over lists. Built on the latest awesome features from Neovim core. Telescope is centered around modularity, allowing for easy customization.
- vijaymarupudi/nvim-fzf - A Lua API for using fzf in
Neovim
(>= 0.5). Allows for full asynchronicity for UI speed and usability. - amirrezaask/fuzzy.nvim - Fuzzy.nvim provides a simple mechanism and pipeline to create fuzzy matching in Neovim.
- camspiers/snap - An extensible fuzzy finder. Similar to Telescope, and optimized for performance, especially when grepping in large codebases.
- ibhagwan/fzf-lua - The Lua version of
fzf.vim
, high-performance and fully async, supportsnvim-web-devicons
, git indicators, LSP, quickfix/location lists and more. Also supportsskim
as its fzf binary. - jvgrootveld/telescope-zoxide - Telescope integration for zoxide, a smart directory picker that tracks your usage.
- mini.fuzzy - Module of echasnovski/mini.nvim with functions to perform fuzzy matching of one string to others along with fast Telescope sorter.
Note Taking
- 0styx0/abbreinder.nvim - Abbreviation reminders for Neovim 0.5+.
- oberblastmeister/neuron.nvim - Note taking plugin for neuron that integrates with telescope.nvim.
- jbyuki/nabla.nvim - Take your scientific notes in Neovim.
- nvim-neorg/neorg - Modernity meets insane extensibility. The future of organizing your life in Neovim.
- nvim-orgmode/orgmode - Orgmode clone written in Lua for Neovim 0.5+.
- NFrid/due.nvim - Displays due for a date string as a virtual text.
- jbyuki/venn.nvim - Draw ASCII diagrams in Neovim.
- stevearc/gkeep.nvim - Google Keep integration for Neovim.
- renerocksai/telekasten.nvim - A Neovim (lua) plugin for working with a text-based, markdown zettelkasten / wiki and mixing it with a journal, based on telescope.nvim.
Color
- norcalli/nvim-colorizer.lua - A high-performance color highlighter for Neovim which has no external dependencies!.
- sunjon/Shade.nvim - Shade is a Neovim plugin that dims your inactive windows, making it easier to see the active window at a glance.
- winston0410/range-highlight.nvim - An extremely lightweight plugin (~ 120loc) that highlights ranges you have entered in commandline.
- xiyaowong/nvim-transparent - Make your Neovim transparent.
- folke/twilight.nvim - Dim inactive portions of the code you're editing using TreeSitter.
Colorscheme Creation
- tjdevries//.nvim - A colorscheme helper for Neovim. Written in Lua! Quick & Easy Color Schemes 😄.
- norcalli/nvim-base16.lua - Programmatic Lua library for setting base16 themes in Neovim.
- rktjmp/lush.nvim - Define Neovim themes as a DSL in Lua, with real-time feedback.
- Iron-E/nvim-highlite - A colorscheme template that is "lite" on logic for the developer.
- mini.base16 - Module of echasnovski/mini.nvim with fast implementation of base16 theme for manually supplied palette.
- ThemerCorp/themer.lua - A simple highlighter plugin for neovim. It has a huge collection of colorschemes. It also has ability to create colorschemes for vim/neovim and other supported apps (such as kitty and alacritty).
Colorscheme
Tree-sitter Supported Colorscheme
Tree-sitter is a new system coming in Neovim 0.5 that incrementally parses your code into a tree that works, even with errors in your syntax. These colorschemes have specifically set colors for Tree-sitter highlight groups. Vim colorschemes will work with the new groups out of the box.
- shaeinst/roshnivim-cs - Colorscheme for Neovim written in Lua, specially made for roshnivim with Tree-sitter support.
- rafamadriz/neon - Customizable colorscheme with excellent italic and bold support, dark and light variants. Made to work and look good with Tree-sitter.
- tomasiser/vim-code-dark - A dark color scheme heavily inspired by the look of the Dark+ scheme of Visual Studio Code.
- Mofiqul/vscode.nvim - A Lua port of vim-code-dark colorscheme for Neovim with vscode light and dark theme.
- marko-cerovac/material.nvim - Material.nvim is a highly configurable colorscheme written in Lua and based on the material palette.
- bluz71/vim-nightfly-guicolors - Nightfly is a dark GUI color scheme heavily inspired by Sarah Drasner's Night Owl theme.
- bluz71/vim-moonfly-colors - Moonfly is a dark color scheme with Tree-sitter support.
- ChristianChiarulli/nvcode-color-schemes.vim - Nvcode, onedark, nord colorschemes with Tree-sitter support.
- folke/tokyonight.nvim - A clean, dark and light Neovim theme written in Lua, with support for LSP, Tree-sitter and lots of plugins.
- sainnhe/sonokai - High Contrast & Vivid Color Scheme based on Monokai Pro.
- kyazdani42/blue-moon - A dark color scheme for Neovim derived from palenight and carbonight.
- mhartington/oceanic-next - Oceanic Next theme for Neovim.
- glepnir/zephyr-nvim - A dark colorscheme with Tree-sitter support.
- rockerBOO/boo-colorscheme-nvim - A colorscheme for Neovim with handcrafted support for LSP, Tree-sitter.
- jim-at-jibba/ariake-vim-colors - A port of the great Atom theme. Dark and light with Tree-sitter support.
- Th3Whit3Wolf/onebuddy - Light and dark atom one theme.
- RishabhRD/nvim-rdark - A dark colorscheme for Neovim written in Lua.
- ishan9299/modus-theme-vim - This is a color scheme developed by Protesilaos Stavrou for emacs.
- sainnhe/edge - Clean & Elegant Color Scheme inspired by Atom One and Material.
- theniceboy/nvim-deus - Vim-deus with Tree-sitter support.
- bkegley/gloombuddy - Gloom inspired theme for Neovim.
- Th3Whit3Wolf/one-nvim - An Atom One inspired dark and light colorscheme for Neovim.
- PHSix/nvim-hybrid - A Neovim colorscheme write in Lua.
- Th3Whit3Wolf/space-nvim - A spacemacs inspired dark and light colorscheme for Neovim.
- yonlu/omni.vim - Omni color scheme for Vim.
- ray-x/aurora - A 24-bit dark theme with Tree-sitter and LSP support.
- novakne/kosmikoa.nvim - Colorscheme for Neovim.
- tanvirtin/monokai.nvim - Monokai theme for Neovim written in Lua.
- nekonako/xresources-nvim - Neovim colorscheme based on your xresources color.
- savq/melange - Dark color scheme for Neovim and Vim 🗡️.
- RRethy/nvim-base16 - Neovim plugin for building base16 colorschemes. Includes support for Treesitter and LSP highlight groups.
- fenetikm/falcon - A colour scheme for terminals, Vim and friends.
- andersevenrud/nordic.nvim - A nord-esque colorscheme.
- shaunsingh/nord.nvim - Neovim theme based off of the Nord Color Palette.
- MordechaiHadad/nvim-papadark - My own Neovim colorscheme.
- ishan9299/nvim-solarized-lua - Solarized colorscheme in Lua for Neovim 0.5.
- shaunsingh/moonlight.nvim - Port of VSCode's Moonlight colorscheme for NeoVim, written in Lua with built-in support for native LSP, Tree-sitter and many more plugins.
- navarasu/onedark.nvim - A One Dark Theme for Neovim 0.5 written in Lua based on Atom's One Dark Theme.
- lourenci/github-colors - GitHub colors leveraging Tree-sitter to get 100% accuracy.
- sainnhe/gruvbox-material - Gruvbox modification with softer contrast and Tree-sitter support.
- sainnhe/everforest - A green based colorscheme designed to be warm, soft and easy on the eyes.
- NTBBloodbath/doom-one.nvim - Lua port of doom-emacs' doom-one for Neovim.
- dracula/vim - Famous beautiful dark powered theme.
- Mofiqul/dracula.nvim - Dracula colorscheme for neovim written in Lua.
- yashguptaz/calvera-dark.nvim - A port of VSCode Calvara Dark Theme to Neovim with Tree-sitter and many other plugins support.
- nxvu699134/vn-night.nvim - A dark Neovim colorscheme written in Lua. Support built-in LSP and Tree-sitter.
- adisen99/codeschool.nvim - Codeschool colorscheme for Neovim written in Lua with Tree-sitter and built-in lsp support.
- projekt0n/github-nvim-theme - A GitHub theme for Neovim, kitty, alacritty written in Lua. Support built-in LSP and Tree-sitter.
- kdheepak/monochrome.nvim - A 16 bit monochrome colorscheme that uses hsluv for perceptually distinct gray colors, with support for Tree-sitter and other commonly used plugins.
- rose-pine/neovim - All natural pine, faux fur and a bit of soho vibes for the classy minimalist.
- mcchrish/zenbones.nvim - A collection of vim/neovim colorschemes designed to highlight code using contrasts and font variations.
- catppuccin/nvim - Warm mid-tone dark theme to show off your vibrant self! with support for native LSP, Tree-sitter, and more 🍨!
- FrenzyExists/aquarium-vim - A dark, yet vibrant colorscheme for Neovim.
- EdenEast/nightfox.nvim - A soft dark, fully customizable Neovim theme, with support for lsp, treesitter and a variety of plugins.
- kvrohit/substrata.nvim - A cold, dark color scheme for Neovim written in Lua ported from arzg/vim-substrata theme.
- ldelossa/vimdark - A minimal Vim theme for night time. Loosely based on vim-monotonic and chrome's dark reader extention. A light theme is included as well for the day time.
- mangeshrex/uwu.vim - A beautiful and dark vim colorscheme written in vimscript.
- adisen99/apprentice.nvim - Colorscheme for Neovim written in Lua based on the Apprentice color pattete with Tree-sitter and built-in lsp support.
- olimorris/onedarkpro.nvim - One Dark Pro theme for Neovim, written in Lua and based on the VS Code theme. Includes dark and light themes with completely customisable colors, styles and highlights.
- rmehri01/onenord.nvim - A Neovim theme that combines the Nord and Atom One Dark color palettes for a more vibrant programming experience.
- RishabhRD/gruvy - Gruvbuddy without colorbuddy using Lush.
- minischeme - Color scheme of echasnovski/mini.nvim which is a variant of base16 with accent colors chosen according to optimal perceptual uniformity.
- luisiacc/gruvbox-baby - A modern gruvbox theme with full treesitter support.
- titanzero/zephyrium - A zephyr-esque theme, written in Lua, with TreeSitter support.
- rebelot/kanagawa.nvim - NeoVim dark colorscheme inspired by the colors of the famous painting by Katsushika Hokusai.
- tiagovla/tokyodark.nvim - A clean dark theme written in lua for neovim 0.5 and above.
Lua Colorscheme
These colorschemes may not specialize in Tree-sitter directly but are written in Lua.
- tjdevries/gruvbuddy.nvim - Gruvbox colors.
- ellisonleao/gruvbox.nvim - Gruvbox community colorscheme Lua port.
- metalelf0/jellybeans-nvim - A port of jellybeans colorscheme for Neovim.
- lalitmee/cobalt2.nvim - A port of cobalt2 colorscheme for Neovim using colorbuddy.
Utility
- famiu/bufdelete.nvim - Delete Neovim buffers without losing your window layout.
- mini.bufremove - Module of echasnovski/mini.nvim for buffer removing (unshow, delete, wipeout) while saving window layout.
- jghauser/mkdir.nvim - Automatically create missing directories when saving files.
- matbme/JABS.nvim - Pretty and minimal buffer switcher window.
- clojure-vim/jazz.nvim - Acid + Impromptu = Jazz.
- sudormrfbin/cheatsheet.nvim - Searchable cheatsheet.
- code-biscuits/nvim-biscuits - A Neovim port of Assorted Biscuits. Ends up with more supported languages too.
- Pocco81/AbbrevMan.nvim - A NeoVim plugin for managing vim abbreviations.
- kazhala/close-buffers.nvim - Delete multiple vim buffers based on different conditions.
- rktjmp/paperplanes.nvim - Post selections or buffers to online paste bins.
- max397574/better-escape.nvim - Create shortcuts to escape insert mode without getting delay.
- rcarriga/nvim-notify - A fancy, configurable, notification manager for NeoVim.
- saifulapm/chartoggle.nvim - Toggle any character at end of line for Neovim.
- stevearc/dressing.nvim - Improve the built-in
vim.ui
interfaces with telescope, fzf, etc.
Icon
- kyazdani42/nvim-web-devicons - A Lua fork of vim-devicons.
- yamatsum/nvim-nonicons - Collection of configurations for nvim-web-devicons.
Debugging
- mfussenegger/nvim-dap - Debug Adapter Protocol client implementation for Neovim.
- sakhnik/nvim-gdb - Thin wrapper for GDB, LLDB, PDB/PDB++ and BashDB.
- rcarriga/nvim-dap-ui - A UI for nvim-dap.
- Pocco81/DAPInstall.nvim - A NeoVim plugin for managing several debuggers for Nvim-dap.
Spellcheck
- lewis6991/spellsitter.nvim - Enable Neovim's spell checker with tree-sitter.
Neovim Lua Development
- tjdevries/nlua.nvim - Lua Development for Neovim.
- svermeulen/vimpeccable - Commands to help write your .vimrc in Lua or any Lua based language.
- nanotee/nvim-lua-guide - A guide to using Lua in Neovim.
- rafcamlet/nvim-luapad - Interactive real time Neovim scratchpad for embedded Lua engine - Type and watch!.
- nvim-lua/plenary.nvim - Plenary: full; complete; entire; absolute; unqualified. All the Lua functions I don't want to write twice.
- nvim-lua/popup.nvim - An implementation of the Popup API from vim in Neovim.
- tjdevries/vlog.nvim - Single file, no dependency, easy copy & paste log file to add to your Neovim Lua plugins.
- bfredl/nvim-luadev - REPL/debug console for Neovim Lua plugins. The
:Luadev
command will open an scratch window which will show output from executing Lua code. - jbyuki/one-small-step-for-vimkind - An adapter for the Neovim Lua language. It allows you to debug any Lua code running in a Neovim instance (A Lua plugin that can debug Neovim Lua plugins).
- tami5/sqlite.lua - SQLite/LuaJIT binding for Lua and Neovim.
- folke/lua-dev.nvim - Dev setup for init.Lua and plugin development with full signature help, docs and completion for the Neovim Lua API.
- MunifTanjim/nui.nvim - UI Component Library for Neovim.
- m00qek/plugin-template.nvim - A plugin template that setups test infrastructure and GitHub Actions.
- mini.doc - Module of echasnovski/mini.nvim for generation of help files from EmmyLua-like annotations. Allows flexible customization of output via hook functions.
- nanotee/luv-vimdocs - The luv docs in vimdoc format.
- milisims/nvim-luaref - A reference for builtin lua functions.
- ellisonleao/nvim-plugin-template - Another neovim plugin template, using GitHub's template feature.
Fennel
- Olical/aniseed - Configure and extend Neovim with Fennel (Lisp to Lua).
- rktjmp/hotpot.nvim - Seamless, transparent Fennel inside Neovim.
Tabline
- romgrk/barbar.nvim - The Neovim tabline plugin.
- akinsho/bufferline.nvim - A snazzy buffer line for Neovim built using Lua.
- crispgm/nvim-tabline - Neovim port of tabline.vim with Lua.
- alvarosevilla95/luatab.nvim - A simple tabline written in Lua.
- johann2357/nvim-smartbufs - Smart buffer management in Neovim.
- kdheepak/tabline.nvim - A "buffer and tab" tabline.
- noib3/cokeline.nvim - A Neovim bufferline for people with addictive personalities.
- mini.tabline - Module of echasnovski/mini.nvim for minimal tabline showing listed buffers in case of one tab and falling back to default otherwise.
- rafcamlet/tabline-framework.nvim - User-friendly framework for building your dream tabline in a few lines of code.
Statusline
- NTBBloodbath/galaxyline.nvim - Galaxyline componentizes Vim's statusline by having a provider for each text area. This means you can use the api provided by galaxyline to create the statusline that you want, easily.
- tjdevries/express_line.nvim - Supports co-routines, functions and jobs.
- nvim-lualine/lualine.nvim - A blazing fast and easy to configure Neovim statusline.
- adelarsq/neoline.vim - A light statusline/tabline plugin for Neovim using Lua.
- ojroques/nvim-hardline - A statusline / bufferline. It is inspired by vim-airline but aims to be as light and simple as possible.
- datwaft/bubbly.nvim - Bubbly status line for Neovim.
- beauwilliams/statusline.lua - A zero-config minimal statusline for Neovim written in Lua featuring awesome integrations and blazing speed!
- tamton-aquib/staline.nvim - A modern lightweight statusline for Neovim in Lua. Mainly uses unicode symbols for showing info.
- Famiu/feline.nvim - A minimal, stylish and customizable statusline for Neovim written in Lua.
- windwp/windline.nvim - The next generation statusline for Neovim. Animation statusline.
- konapun/vacuumline.nvim - A galaxyline configuration inspired by airline.
- mini.statusline - Module of echasnovski/mini.nvim for minimal and fast statusline. Supports content change depending on window width.
Statusline component
- SmiteshP/nvim-gps - Simple statusline component that shows what scope you are working inside.
Cursorline
- yamatsum/nvim-cursorline - A plugin for Neovim that highlights cursor words and lines.
- xiyaowong/nvim-cursorword - Part of nvim-cursorline. Highlight the word under the cursor.
- RRethy/vim-illuminate - Highlight the word under the cursor. Neovim's builtin LSP is available, it can be used to highlight more intelligently.
- mini.cursorword - Module of echasnovski/mini.nvim for automatic highlighting of word under cursor (displayed after customizable delay).
Startup
- glepnir/dashboard-nvim - A minimalist dashboard for Neovim, inspired by doom-emacs.
- goolord/alpha-nvim - A fast and highly customizable greeter like vim-startify/dashboard-nvim for Neovim.
- mini.starter - Module of echasnovski/mini.nvim for start screen. Displayed items are fully customizable, item selection can be done using prefix query with instant visual feedback.
- henriquehbr/nvim-startup.lua - Displays Neovim startup time.
- startup-nvim/startup.nvim - The fully customizable greeter for neovim.
Indent
- glepnir/indent-guides.nvim - Indent plugin.
- lukas-reineke/indent-blankline.nvim - IndentLine replacement in Lua with more features and treesitter support.
- mini.indentscope - Module of echasnovski/mini.nvim for visualizing and operating on indent scope. Supports customization of debounce delay, animation style, and different granularity of options for scope computing algorithm.
Game
- ThePrimeagen/vim-be-good - Vim-be-good is a Neovim plugin designed to make you better at Vim Movements.
- ThePrimeagen/vim-apm - Vim APM, Actions per minute, is the greatest plugin since vim-slicedbread.
- alec-gibson/nvim-tetris - Bringing emacs' greatest feature to Neovim - Tetris!.
- seandewar/nvimesweeper - Play Minesweeper in your favourite text editor.
File explorer
- kyazdani42/nvim-tree.lua - A simple and fast file explorer tree for Neovim !.
- luukvbaal/nnn.nvim - File explorer powered by nnn and Lua.
- tamago324/lir.nvim - Simple file explorer.
- TimUntersberger/neofs - A file manager for Neovim written in Lua.
- kevinhwang91/rnvimr - A simple yet amazing file explorer for Neovim.
- Xuyuanp/yanil - Yet Another Nerdtree In Lua.
- ms-jpq/chadtree - File manager for Neovim. Better than NERDTree.
- is0n/fm-nvim - Neovim plugin that lets you use your favorite terminal file managers (and fuzzy finders) from within Neovim.
- nvim-neo-tree/neo-tree.nvim - Neo-tree is a Neovim plugin to 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.
Dependency management
- akinsho/dependency-assist.nvim - Search for and add new dependencies (dart, for now but rust coming soon).
- vuki656/package-info.nvim - Display latest package version as virtual text in package.json.
Git
- f-person/git-blame.nvim - Show git blame info.
- lewis6991/gitsigns.nvim - Git integration: signs, hunk actions, blame, etc.
- TimUntersberger/neogit - A Magit clone for Neovim that may change some things to fit the Vim philosophy.
- tveskag/nvim-blame-line - A small plugin that uses neovims virtual text to print git blame info at the end of the current line.
- ruifm/gitlinker.nvim - Generate shareable file permalinks for several git hosts. Inspired by tpope/vim-fugitive's :GBrowse.
- tanvirtin/vgit.nvim - Visual Git Plugin for Neovim to enhance your git experience.
- sindrets/diffview.nvim - Single tabpage interface for easily cycling through diffs for all modified files for any git rev.
- kdheepak/lazygit.nvim - Plugin for calling lazygit from within Neovim.
- AckslD/nvim-gfold.lua - Plugin using gfold to switch repo and have statusline component.
Programming languages support
- go.nvim - Golang plugin based on lsp and Treesitter.
- akinsho/flutter-tools.nvim - Build flutter and dart applications in Neovim using the native lsp.
- crispgm/nvim-go - A minimal implementation of Golang development plugin for Neovim.
- gennaro-tedesco/nvim-jqx - Interactive interface for json files.
- edolphin-ydf/goimpl.nvim - Generate interface stubs for a type.
- lean.nvim - Neovim support for the Lean Theorem Prover.
- rafaelsq/nvim-goc.lua - Highlight your buffer with Golang Code Coverage.
Comment
- numToStr/Comment.nvim - Smart and Powerful comment plugin for Neovim. Supports commentstring, motions, dot-repeat and more.
- b3nj5m1n/kommentary - Commenting plugin written in Lua.
- glepnir/prodoc.nvim - Comment and support generate annotation.
- gennaro-tedesco/nvim-commaround - Fast and light commenting plugin written in Lua.
- folke/todo-comments.nvim - Highlight, list and search todo comments in your projects.
- terrortylor/nvim-comment - Toggle comments in Neovim using the built-in commentstring option.
- winston0410/commented.nvim - A commenting plugin that supports counts and multiple comment patterns and much more.
- s1n7ax/nvim-comment-frame - Adds a comment frame based on the source file.
- danymat/neogen - A better annotation generator. Supports multiple languages and annotation conventions.
- mini.comment - Module of echasnovski/mini.nvim for per-line commenting. Fully supports dot-repeat.
Collaborative Editing
- jbyuki/instant.nvim - A collaborative editing plugin for Neovim written in Lua with no dependencies.
Quickfix
- kevinhwang91/nvim-bqf - The goal of nvim-bqf is to make Neovim's quickfix window better.
- gitlab.com/yorickpeterse/nvim-pqf - Prettier quickfix/location list windows for Neovim.
- stevearc/qf_helper.nvim - A collection of improvements for Neovim quickfix.
Motion
- tjdevries/train.nvim - Train yourself with vim motions and make your own train tracks.
- phaazon/hop.nvim - Hop is an EasyMotion-like plugin allowing you to jump anywhere in a document with as few keystrokes as possible.
- ggandor/lightspeed.nvim - 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.
- mini.jump - Module of echasnovski/mini.nvim for smarter jumping to a single character.
- mfussenegger/nvim-ts-hint-textobject - Region selection with hints on the AST nodes of a document powered by treesitter.
- rlane/pounce.nvim - An EasyMotion-like plugin for quick cursor movement using fuzzy search.
Code Runner
- michaelb/sniprun - Run parts of code of any language directly from Neovim.
- pianocomposer321/yabs.nvim - Yet Another Build System for Neovim, written in Lua.
- CRAG666/code_runner.nvim - The best code runner you could have, with super powers.
- is0n/jaq-nvim - Just Another Quickrun Plugin for Neovim in Lua.
GitHub
- pwntester/octo.nvim - Work with GitHub issues and PRs from Neovim. Just edit the issue description.
- pwntester/codeql.nvim - Neovim plugin to help writing and testing CodeQL queries.
Search
- kevinhwang91/nvim-hlslens - Helps you better glance searched information, seamlessly jump matched instances.
- rktjmp/highlight-current-n.nivm - Highlights the current /, ? or * match under your cursor when pressing n or N and gets out of the way afterwards.
Scrollbar
- Xuyuanp/scrollbar.nvim - Scrollbar for Neovim.
- dstein64/nvim-scrollview - A Neovim plugin that displays interactive scrollbars.
- petertriho/nvim-scrollbar - Extensible scrollbar that shows diagnostics and search results.
Scrolling
- karb94/neoscroll.nvim - Smooth scrolling for Neovim.
Mouse
- notomo/gesture.nvim - Mouse gesture plugin for Neovim.
Project
- nyngwang/NeoRoot.lua - Change your current working directory to the buffer your cursor is on, and try to go up 2 levels but stop after it encounters one of the project roots you define.
- windwp/nvim-projectconfig - Load Neovim config depend on project directory.
- windwp/nvim-spectre - Search and replace panel for Neovim.
- ahmedkhalf/project.nvim - An all in one Neovim plugin that provides superior project management.
- klen/nvim-config-local - Secure load local config files from working directories.
Browser integration
- glacambre/firenvim - Embed Neovim right into your browser, no questions asked.
Editing support
- windwp/nvim-ts-autotag - Use treesitter to autoclose and autorename xml,html,jsx tag.
- windwp/nvim-autopairs - A minimalist autopairs for Neovim written by Lua.
- ZhiyuanLck/smart-pairs - Ultimate smart pairs for Neovim written by Lua.
- steelsojka/pears.nvim - Auto pair plugin for Neovim.
- mini.pairs - Module of echasnovski/mini.nvim for autopairs which has minimal defaults and functionality to do per-key mapping.
- monaqa/dial.nvim - Extended increment/decrement.
- p00f/nvim-ts-rainbow - Rainbow 🌈 parentheses for Neovim using tree-sitter 🌈.
- AckslD/nvim-revJ.lua - Neovim Lua plugin for doing the opposite of join-line (J) for arguments.
- edluffy/specs.nvim - A fast and lightweight Neovim Lua plugin to keep an eye on where your cursor has jumped.
- JoosepAlviste/nvim-ts-context-commentstring - A Neovim plugin for setting the
commentstring
option based on the cursor location in the file. The location is checked via treesitter queries. - Pocco81/TrueZen.nvim - Clean and elegant distraction-free writing for NeoVim.
- Pocco81/HighStr.nvim - A NeoVim plugin for highlighting visual selections like in a normal document editor!
- Pocco81/AutoSave.nvim - A NeoVim plugin for saving your work before the world collapses or you type :qa!
- folke/zen-mode.nvim - Distraction-free coding for Neovim.
- haringsrob/nvim_context_vt - Shows virtual text of the current context.
- romgrk/nvim-treesitter-context - Shows floating hover with the current function/block context.
- mizlan/iswap.nvim - Interactively select and swap function arguments, list elements, and more. Powered by tree-sitter.
- nacro90/numb.nvim - Peek lines in a non-obtrusive way.
- abecodes/tabout.nvim - Jump out of brackets, quotes, objects, etc.
- ethanholz/nvim-lastplace - Reopen files at your last edit position.
- Allendang/nvim-expand-expr - Expand and repeat expression to multiple lines.
- h-hg/fcitx.nvim - Switching and restoring fcitx state for each buffer seperately.
- McAuleyPenney/tidy.nvim - Clear trailing whitespace and empty lines at end of file on every save.
- mini.trailspace - Module of echasnovski/mini.nvim for automatic highlighting of trailing whitespace with functionality to remove it.
- filipdutescu/renamer.nvim - VS Code-like renaming UI for Neovim, writen in Lua.
- gbprod/cutlass.nvim - Plugin that adds a 'cut' operation separate from 'delete'.
- gbprod/substitute.nvim - Neovim plugin introducing a new operator motions to quickly replace text.
- sQVe/sort.nvim - Sorting plugin that intelligently supports line-wise and delimiter sorting.
- booperlv/nvim-gomove - A complete plugin for moving and duplicating blocks and lines, with complete fold handling, reindenting, and undoing in one go.
- anuvyklack/pretty-fold.nvim - Foldtext customization and folded region preview.
Formatting
- gpanders/editorconfig.nvim - An EditorConfig plugin for Neovim written in Fennel.
- mhartington/formatter.nvim - A format runner for Neovim written in Lua.
- lukas-reineke/format.nvim - Fast asynchronous formatting for Neovim. Supports formatting embedded code blocks.
- sbdchd/neoformat - A (Neo)vim plugin for formatting code.
Web development
- NTBBloodbath/rest.nvim - A fast Neovim http client written in Lua.
Media
- ekickx/clipboard-image.nvim - Neovim Lua plugin to paste image from clipboard.
- gwatcha/reaper-keys - Modal keybindings for Reaper DAW.
- madskjeldgaard/reaper-nvim - Remote control Reaper DAW from Neovim.
- davidgranstrom/scnvim - Neovim frontend for SuperCollider.
Discord Rich Presence
- andweeb/presence.nvim - Fast and lite Discord Rich Presence plugin for Neovim written in Lua.
Command Line
- notomo/cmdbuf.nvim - Alternative command-line-window plugin.
- gelguy/wilder.nvim - A plugin for fuzzy command line autocompletion.
Session
- rmagatti/auto-session - A small automated session manager for Neovim.
- mini.sessions - Module of echasnovski/mini.nvim for session management (read, write, delete).
Test
- rcarriga/vim-ultest - The ultimate testing plugin for NeoVim.
- David-Kunz/jester - A Neovim plugin to easily run and debug Jest tests.
- klen/nvim-test - A Neovim wrapper for running tests.
Competitive Programming
- p00f/cphelper.nvim - Neovim helper for competitive programming written in Lua.
- xeluxee/competitest.nvim - A plugin to automate testcases management and checking for Competitive Programming contests.
Preconfigured Configuration
- SpaceVim/SpaceVim - A community-driven modular vim/neovim distribution, like spacemacs but for vim/neovim.
- CosmicNvim/CosmicNvim - CosmicNvim is a lightweight and opinionated Neovim config for web development, specifically designed to provide a 💫 COSMIC programming experience!
- artart222/CodeArt - A fast general-purpose IDE written entirely in Lua with an installer for Linux/Windows/macOS and built in
:CodeArtUpdate
command for updating it. - NTBBloodbath/doom-nvim - Port of the doom-emacs framework, its goal is to add useful functions to Neovim to start working in a stable and efficient development environment without spending a lot of time configuring everything.
- crivotz/nv-ide - Neovim custom configuration, oriented for full stack developers (rails, ruby, php, html, css, SCSS, JavaScript).
- ChristianChiarulli/LunarVim - This project aims to help one transition away from VSCode, and into a superior text editing experience.
- hackorum/VapourNvim - A NeoVim config for THE ULTIMATE vim IDE-like experience.
- vi-tality/neovitality - A full-featured NeoVim distribution, packaged with Nix Flake for easy installation and reproducibility.
- siduck76/NvChad - An attempt to make Neovim cli as functional as an IDE while being very beautiful and less bloated.
- nvoid-lua/nvoid - Simple Neovim config written in Lua with all the modern features available in any IDE
- ashincoder/StarVim - A IDE wrapper which is beyond the moon 🌝 and above the stars ⭐.
- mjlbach/defaults.nvim - An extremely small, single file, and commented configuration template demonstrating LSP integration, autocompletion, snippets, treesitter, and more.
- cstsunfu/.sea.nvim - A modular NeoVim configuration with beautiful UI and some useful features(Pomodoro Clock, Window Number).
- shaeinst/roshnivim - Roshnivim, can be called neovim's distro, is a predefined configs so that you don't need 1000hr to setup neovim as an IDE.
Keybinding
- AckslD/nvim-whichkey-setup.lua - Plugin that wraps vim-which-key to simplify setup in Lua.
- folke/which-key.nvim - Neovim plugin that shows a popup with possible keybindings of the command you started typing.
- Iron-E/nvim-cartographer - a more convenient
:map
ping syntax for Lua environments. - b0o/mapx.nvim - A simpler key mapping API that mimics Neovim's
:map
-family of commands. Integrates with which-key.nvim. - LionC/nest.nvim - Lua utility to map keys concisely using cascading trees. Also allows binding Lua functions to keys.
- LinArcX/telescope-command-palette.nvim - Lua plugin to create key-bindings and watch them with telescope.
- slugbyte/unruly-worker - A ridiculously fun alternative keymap for the workman keyboard layout with nvim features like LSP support, built and configured with lua.
Tmux
- aserowy/tmux.nvim - Tmux integration for Neovim features pane movement and resizing from within Neovim.
- danielpieper/telescope-tmuxinator.nvim - Integration for tmuxinator with telescope.nvim.
- hkupty/nvimux - Neovim as tmux replacement.
- numToStr/Navigator.nvim - Smoothly navigate between Neovim splits and Tmux panes.
Remote Development
- chipsenkbeil/distant.nvim - Edit files, run programs, and work with LSP on a remote machine from the comfort of your local environment.
- jamestthompson3/nvim-remote-containers - Develop inside docker containers, just like VSCode.
Split and Window
- henriquehbr/ataraxis.lua - A zen mode for improving code readability on Neovim.
- gitlab.com/yorickpeterse/nvim-window - Easily jump between Neovim windows.
- sindrets/winshift.nvim - Rearrange your windows with ease.
- beauwilliams/focus.nvim - Auto-Focusing and Auto-Resizing Splits/Windows for Neovim written in Lua! Vim splits on steroids.
- luukvbaal/stabilize.nvim - Stabilized window content on window open/close events.
External
These tools are used externally to Neovim to enhance the experience.
Version Manager
- NTBBloodbath/nvenv - A lightweight and blazing fast Neovim version manager.
- shohi/neva - A Neovim version manager written in Lua.
Boilerplate
- gennaro-tedesco/boilit - Create boilerplate structure for Neovim plugins.
Vim
- Vimawesome - Showcases various plugins for vim and has a neovim tag for other plugins targeting Neovim.
- awesome-vim - Short list of vim plugins and helpful guides.
Resource
- Neovimcraft - A site dedicated to searching for Neovim specific plugins and guides for building plugins in Lua.