Collections of awesome neovim plugins.
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.
wbthomason/packer.nvim
.folke/lazy.nvim
.mini.nvim
for managing other plugins. Uses Git and built-in packages to install, update, clean, and snapshot plugins.textDocument/codeAction
is available at the current cursor position.symbols-outline.nvim
.vim.diagnostic
.setup
call and does not depend on nvim-lspconfig.pyright
language server..env
files.mini.nvim
for asynchronous two-stage completion. Supports showing completion item info and independent function signature.mini.nvim
for working with text surroundings (add, delete, replace, find, highlight). Supports dot-repeat, different search methods, "last"/"next" extended mappings, tree-sitter integration, and more.fzf.vim
, high-performance and fully async, supports nvim-web-devicons
, git indicators, LSP, quickfix/location lists and more. Also supports skim
as its fzf binary.mini.nvim
with functions to perform fuzzy matching of one string to others along with fast Telescope sorter.mini.nvim
with general purpose interactive non-blocking picker that has one window design, toggleable preview, flexible and fast default match, and much more.mini.nvim
with extra functionality for its modules. Contains 20+ 'mini.pick' pickers, 'mini.ai' textobjects, and more.rg
flags in live_grep
.fm-nvim
, this provides Neovim integration for several popular terminal file managers (including yazi).mini.nvim
providing file explorer with column view capable of manipulating file system by editing text. Can create/delete/rename/copy/move files/directories inside and across directories.mini.nvim
to persistently track and reuse file system visits. Allows listing "recent"/"frequent"/"frecent" visits, adding/removing labels to visits and other data.cd
to another project directory.mini.nvim
to highlight patterns in text with configurable highlighters. Works asynchronously with configurable debounce delay.Tree-sitter is a new system introduced 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.
mini.nvim
plugin. All of them prioritize high contrast ratio for reading text and computing palettes in perceptually uniform color spaces.These colorschemes may not specialize in Tree-sitter directly but are written in Lua.
mini.nvim
with fast implementation of base16 theme for manually supplied palette.mini.nvim
to tweak and save any color scheme. Also can animate transition and convert between some color spaces.mini.nvim
to generate configurable color scheme. Takes only background and foreground colors as required arguments. Can adjust number of hues for non-base colors, saturation, accent color, plugin integration.mini.nvim
for minimal and fast statusline. Supports content change depending on window width.mini.nvim
for minimal tabline showing listed buffers in case of one tab and falling back to default otherwise.mini.nvim
for automatic highlighting of word under cursor (displayed after customizable delay).CursorLineNr
highlight based on Vim mode.mini.nvim
for start screen. Displayed items are fully customizable, item selection can be done using prefix query with instant visual feedback.mini.nvim
to show one or more highlighted notifications in a single window. Provides maker of vim.notify()
implementation and sets up automated LSP progress updates.vim.ui
interfaces with telescope, fzf, etc.true
and false
.mini.nvim
to add out of the box animations for common built-in actions (cursor movement, scroll, resize, window open/close).nix develop
without restarting Neovim.d
and y
).<C-a>
and <C-x>
with customized patterns.href
content.csv
, tsv
.:Luadev
command will open an scratch window which will show output from executing Lua code.mini.nvim
for generation of help files from EmmyLua-like annotations. Allows flexible customization of output via hook functions.mini.nvim
with framework for writing extensive Neovim plugin tests. Supports hierarchical tests, hooks, parametrization, filtering, screen tests, "busted-style" emulation, customizable reporters, and more.Cargo.toml
.mini.nvim
to interactively visualize difference between buffer text and its reference. Provides toggleable detailed overview in text area, built-in apply/reset/textobject/goto mappings, and more.mini.nvim
for smarter jumping to a single character.mini.nvim
for smarter jumping within visible lines via iterative label filtering. Supports custom jump targets (spots), labels, hooks, allowed windows and lines, and more.<c-i>
and <c-o>
).mini.nvim
to go forward/backward with square brackets.w
, e
, b
, ge
movements.f
/t
abilities.mini.nvim
to show next key clues. Has opt-in triggers, shows next key information after customizable delay, allows hydra-like submodes, and more.which-key.nvim
.:map
ping syntax for Lua environments.:map
-family of commands. Integrates with which-key.nvim.which-key
.mini.nvim
to show floating window with buffer text overview, scrollbar, and highlights.mini.nvim
for autopairs which has minimal defaults and functionality to do per-key mapping.mini.nvim
for automatic highlighting of trailing whitespace with functionality to remove it.:norm
, :g
, macros and more.mini.nvim
with various text edit operators: replace, exchange, multiply, sort, evaluate.mini.nvim
to move any selection (charwise, linewise, blockwise, current line in Normal mode) in any direction. Handles both v:count
and undo history.mini.nvim
for extending and creating a
/i
textobjects. It enhances some builtin textobjects, creates extensive set of new ones (like a*
, a<Space>
, a?
, and more), and allows user to create their own (via Lua patterns or functions). Supports dot-repeat, different search methods, consecutive application, and more.mini.nvim
to split and join arguments. Has customizable pre and post hooks. Works inside comments.InsertLeave
& TextChanged
. Based on Pocco81/AutoSave but lighter.mini.nvim
with customizable configuration presets for common options, mappings, and autocommands.:substitute
that uses Lua patterns instead of vim regex. Supports incremental preview.mini.nvim
for per-line commenting. Fully supports dot-repeat.commentstring
option based on the cursor location in the file. The location is checked via treesitter queries.mini.nvim
for aligning text interactively (with or without instant preview).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.{}
chunk.nvim-hlchunk
, contains more features, such as highlight {}
chunk, indent line, space blank etc.<TAB>
key like VSCode.mini.nvim
for session management (read, write, delete).mini.nvim
for buffer removing (unshow, delete, wipeout) while saving window layout.:CodeArtUpdate
command for updating it.These tools are used externally to Neovim to enhance the experience.
:help
via Alfred (macOS).Have a problem a plugin can solve? Add it to the nvim-lua wishlist.
Neovim supports a wide variety of UI's. You can find them listed on the Neovim wiki