Awesome Neovim
Collections of awesome Neovim plugins. Mostly targeting Neovim specific features. This means vim-compatible plugins are not listed here.
Neovim is a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions.
Contents
- Plugin Manager
- LSP
- Completion
- AI
- Programming Languages Support
- Language
- Syntax
- Snippet
- Register
- Marks
- Search
- Fuzzy Finder
- File Explorer
- Project
- Color
- Colorscheme
- Bars and Lines
- Startup
- Icon
- Media
- Note Taking
- Utility
- Terminal Integration
- Debugging
- Deployment
- Test
- Code Runner
- Neovim Lua Development
- Fennel
- Dependency Management
- Git
- Motion
- Keybinding
- Mouse
- Scrolling
- Editing Support
- Formatting
- Command Line
- Session
- Remote Development
- Split and Window
- Game
- Workflow
- Preconfigured Configuration
- External
- Wishlist
- UI
- Starter Templates
- Vim
- Resource
Plugin Manager
- lewis6991/pckr.nvim - Spiritual successor of
wbthomason/packer.nvim
. - savq/paq-nvim - Neovim package manager written in Lua.
- NTBBloodbath/cheovim - Neovim configuration switcher written in Lua. Inspired by chemacs.
- chiyadev/dep - An alternative to packer.nvim. It was built to be even better and easier to use. Context can be found here.
- folke/lazy.nvim - A modern plugin manager, featuring a graphical interface, async execution, a lockfile and more 💤.
- roobert/activate.nvim - A plugin installation system designed to complement
folke/lazy.nvim
. - nvim-neorocks/rocks.nvim - A modern approach to plugin management using Luarocks, inspired by Cargo.
- echasnovski/mini.nvim#mini.deps - Module of
mini.nvim
for managing other plugins. Uses Git and built-in packages to install, update, clean, and snapshot plugins.
LSP
(requires Neovim 0.5)
- neovim/nvim-lspconfig - Quickstart configurations for the LSP client.
- nvim-lua/lsp-status.nvim - This is a plugin/library for generating statusline components from the built-in LSP client.
- RishabhRD/nvim-lsputils - Better defaults for nvim-lsp actions.
- nvimdev/lspsaga.nvim - A light-weight LSP plugin based on Neovim's built-in LSP with a highly performant UI.
- kosayoda/nvim-lightbulb - The plugin shows a lightbulb in the sign column whenever a
textDocument/codeAction
is available at the current cursor position. - roobert/action-hints.nvim - Show information about the word under the cursor in the statusline or as virtual text.
- 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.
- smjonas/inc-rename.nvim - Provides an incremental LSP rename command based on Neovim's command-preview feature.
- rmagatti/goto-preview - Previewing native LSP's goto definition calls in floating windows.
- jubnzv/virtual-types.nvim - Show type annotations as virtual text.
- marilari88/twoslash-queries.nvim - Provide inline virtual text displaying TypeScript types for the inspected variables.
- 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 🍰.
- simrat39/symbols-outline.nvim - A tree like view for symbols using the Language Server Protocol. Supports all your favourite languages.
- hedyhli/outline.nvim - A significantly enhanced and refactored fork of
symbols-outline.nvim
. - stevearc/aerial.nvim - A code outline window for skimming and quick navigation.
- SmiteshP/nvim-navbuddy - A simple popup display that provides breadcrumbs like navigation features using LSP.
- tamago324/nlsp-settings.nvim - Setup LSP with JSON or YAML files.
- 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.
- aznhe21/actions-preview.nvim - Fully customizable previewer for LSP code actions.
- mfussenegger/nvim-lint - An asynchronous linter plugin, complementary to the built-in Language Server Protocol support.
- b0o/SchemaStore.nvim - Provide access to the SchemaStore catalog.
- ldelossa/litee.nvim - Neovim's missing IDE features.
- j-hui/fidget.nvim - Standalone UI for LSP progress.
- scalameta/nvim-metals - Neovim plugin for Metals, the Scala language server, using Neovim's builtin LSP.
- junnplus/lsp-setup.nvim - A simple wrapper for nvim-lspconfig and nvim-lsp-installer to easily setup LSP servers.
- amrbashir/nvim-docs-view - Display LSP hover documentation in a side panel.
- roobert/hoversplit.nvim - Automatically updated documentation and information about code symbols in a split window.
- mfussenegger/nvim-jdtls - Extensions for the built-in LSP support for eclipse.jdt.ls.
- Kasama/nvim-custom-diagnostic-highlight - Inline diagnostics popup-highlight much like coc-nvim but based on
vim.diagnostic
. - mrcjkb/haskell-tools.nvim - Seamless integration of Neovim with Haskell development tools like haskell-language-server and Hoogle.
- ranjithshegde/ccls.nvim - Use off-spec extensions of ccls LSP and browse AST.
- idanarye/nvim-buffls - Add LSP functionality to specific Neovim buffers.
- DNLHC/glance.nvim - A pretty window for previewing, navigating and editing your LSP locations.
- deathbeam/lspecho.nvim - Echo LSP progress to cmdline or embed it in status line.
- linrongbin16/lsp-progress.nvim - A performant LSP progress status.
- jinzhongjia/LspUI.nvim - A modern and useful UI that wraps LSP operations.
- VidocqH/lsp-lens.nvim - Display function references above function definition like IDEA codelens.
- chrisgrieser/nvim-dr-lsp - Status line component showing the number of LSP definition and reference of the token under the cursor.
- Wansmer/symbol-usage.nvim - Display references, definitions and implementations of document symbols.
- creativenull/efmls-configs-nvim - An unofficial collection of linters and formatters configured for efm-langserver to work with builtin LSP.
- creativenull/diagnosticls-configs-nvim - An unofficial collection of linters and formatters configured for diagnostic-languageserver to work with builtin LSP.
- hinell/lsp-timeout.nvim - Automatically start/stop idle/unused LSP servers; keeps RAM usage low.
- nvimtools/none-ls.nvim - Null-ls.nvim reloaded / Use Neovim as a language server to inject LSP diagnostics, code actions, and more via Lua.
- zeioth/none-ls-autoload.nvim - Auto-load/Auto-unload none-ls sources installed with mason. It supports builtin sources and external sources.
- vxpm/ferris.nvim - Interact with Rust-Analyzer's LSP extensions.
- mrcjkb/rustaceanvim - A heavily modified fork of rust-tools.nvim that does not require a
setup
call and does not depend on nvim-lspconfig. - soulis-1256/eagle.nvim - Mouse-hover LSP hints.
- stevanmilic/nvim-lspimport - Automatically resolves imports for undefined terms. Useful with
pyright
language server. - jmbuhr/otter.nvim - Provides LSP features and a nvim-cmp completion source for languages embedded in other documents.
- lopi-py/luau-lsp.nvim - A luau-lsp extension to improve your experience.
- LukasPietzschmann/boo.nvim - Quickly pop-up some LSP-powered information of the thing your cursor is on.
- zeioth/garbage-day.nvim - Garbage collector that stops inactive LSP clients to free RAM.
- luckasRanarison/clear-action.nvim - Enhances LSP code actions with fully customizable signs, personalized actions, and server-specific mappings, making code actions more predictable.
- rachartier/tiny-inline-diagnostic.nvim - Display prettier diagnostic messages. Display one line diagnostic messages where the cursor is, with icons and colors.
- chrisgrieser/nvim-lsp-endhints - Display LSP inlay hints at the end of the line, rather than within the line.
- rachartier/tiny-code-action.nvim - Provides a simple way to run and visualize code actions with Telescope.
LSP Installer
- anott03/nvim-lspinstall - Easy to install language servers.
- alexaandru/nvim-lspupdate - Updates installed (or auto installs if missing) LSP servers.
- williamboman/mason.nvim - Portable package manager that runs everywhere Neovim runs. Easily install and manage LSP servers, DAP servers, linters, and formatters.