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.lsp_signature helper with awesome
features.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.]r/[r.google, numpy,
sphinx with live preview..env files.mini.nvim for asynchronous two-stage
completion. Supports showing completion item info and independent
function signature.mini.hipatterns.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.mini.nvim to manage and expand snippets.
Supports LSP snippet syntax, flexible loaders, fuzzy prefix matching,
interactive selection, snippet session with rich visualization, and
more.rg flags. Grug like!:substitute using
ripgrep.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.neo-tree.nvim.unsaved files, allowing you to
save and open them. Helps to avoid forgetting to add something to GitHub
or similar.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.gruvbox.nvim.nvim-highlite.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.H/M/L indicators to your
line numbers.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 meant as a general icon provider.
Uses fixed set of highlight groups. Supports various categories, icon
and style customizations, caching for performance. Integrates with
built-in filetype matching.Do something @ 3pm-3pm –> will block that time on
your calendar.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.lazy.nvim.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..env files
and environment variables.csv, tsv.Dan7h3x/neaterm.nvim - A little smart terminal/REPL manager with awesome features.
LoricAndre/OneTerm.nvim - Plugin framework for running commands in the terminal.
nikvdp/neomux - Control Neovim from shells running inside Neovim.
willothy/flatten.nvim - Open files from terminal buffers in your current Neovim instance instead of launching a nested instance.
willothy/wezterm.nvim - Functions for interacting with Wezterm.
akinsho/toggleterm.nvim - Easily manage multiple terminal windows.
norcalli/nvim-terminal.lua - A high performance filetype mode which leverages conceal and highlights your buffer with the correct color codes.
numToStr/FTerm.nvim - No nonsense floating terminal written in Lua.
pianocomposer321/consolation.nvim - A general-purpose terminal wrapper and management plugin, written in Lua.
jghauser/kitty-runner.nvim - Poor man’s REPL. Easily send buffer lines and commands to a kitty terminal.
jlesquembre/nterm.nvim - Interact with the terminal, with notifications.
s1n7ax/nvim-terminal - A simple & easy to use multi-terminal plugin.
m00qek/baleia.nvim - Colorize text with ANSI escape sequences (8, 16, 256 or TrueColor).
samjwill/nvim-unception - Automatic unnesting of Neovim sessions started from terminal buffers.
kassio/neoterm -
Wrapper of some :terminal functions.
nyngwang/NeoTerm.lua - Attach a terminal for each buffer, now with stable toggle and astonishing cursor restoring.
idanarye/nvim-channelot - Operate Neovim jobs from Lua coroutines.
chomosuke/term-edit.nvim - Allowing you to edit your command in the terminal just like any other buffer.
mikesmithgh/kitty-scrollback.nvim - Open your Kitty scrollback buffer. Ameowzing.
niuiic/terminal.nvim - Manage terminal as buffer, multiple terminals support.
NeViRAIDE/nekifoch.nvim - Managing Kitty terminal font settings.
2KAbhishek/termim.nvim - Neovim Terminal, Improved.
samharju/yeet.nvim - Run shell commands in terminal buffers or tmux panes.
isak102/ghostty.nvim - Automatically validate your Ghostty configuration on save.
laktak/tome - Interactive Script playbooks for your terminal (optionally with Tmux).
Axot017/multiterm.nvim - A lightweight manager of multiple terminal instances with key bindings.
da-moon/telescope-toggleterm.nvim - Telescope picker for terminal buffers.
benoror/gpg.nvim - Edit GPG encrypted files symmetrically.
just task runner.: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.vimdoc/help file viewer.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 enhanced Git integration with
current Neovim process. Implements tracking of Git related data,
:Git user command, and various helpers to explore Git
history.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.:mapping syntax for Lua
environments.which-key.; and , keys to also repeat jumps to
diagnostics (e.g. ]d) and to nvim-treesitter-textobjects
(e.g. ]f), in addition to repeating
t/T/f/F.mini.nvim with utilities to make special key
mappings: multi-step actions (with built-in steps for “smart”
<Tab>, <S-Tab>,
<CR>, <BS>), combos (more general
version of “better escape” like behavior).mini.nvim to show floating window with buffer
text overview, scrollbar, and highlights.+
register using textobjects.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."0, and use
d, c, and s motions while keeping
the most recent yanked content easily accessible.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 Tree-sitter
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.:set fdm=indent.mini.nvim for session management (read, write,
delete).mini.nvim for buffer removing (unshow, delete,
wipeout) while saving window layout.:only with tmux panes in the
same window, with either moving them to a new window or closing
them.make for C and cargo build for Rust, and
have the project run or compile in a new tmux pane or window.: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