.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
- 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/calltree.nvim - Neovim's missing call-hierarchy UI.
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.
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.
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
- oberblastmeister/neuron.nvim - Note taking plugin for neuron that integrates with telescope.nvim.
- jbyuki/nabla.nvim - Take your scientific notes in Neovim.
- vhyrro/neorg - Modernity meets insane extensibility. The future of organizing your life in Neovim.
- kristijanhusak/orgmode.nvim - 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.
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/colorbuddy.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.
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.
- 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.
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.
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.
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.
Indent
- glepnir/indent-guides.nvim - Indent plugin.
- lukas-reineke/indent-blankline.nvim - IndentLine replacement in Lua with more features and treesitter support.
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.
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.
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.
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.
Scrolling
- karb94/neoscroll.nvim - Smooth scrolling for Neovim.
Mouse
- notomo/gesture.nvim - Mouse gesture plugin for Neovim.
Project
- 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.
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.
- 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.
Formatting
- 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.
Preconfigured Configuration
- 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.
- 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.
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.