Curated list of awesome lists
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
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
.
-
abeldekat/lazyflex.nvim - An addon for
folke/lazy.nvim
. Facilitates the testing and troubleshooting of a Neovim configuration.
LSP
(requires Neovim 0.5)
LSP Installer
Diagnostics
Completion
AI
-
Robitx/gp.nvim - ChatGPT like sessions and instructable text/code operations in your favorite editor.
-
dpayne/CodeGPT.nvim - Provides commands to interact with ChatGPT, the focus is around code related usages.
-
jackMort/ChatGPT.nvim - Effortless Natural Language Generation with OpenAI's ChatGPT API.
-
CamdenClark/flyboy - Simple interaction with ChatGPT in a markdown buffer. Supports GPT-4 and Azure OpenAI.
-
gsuuon/llm.nvim - Integrate LLM's via a prompt builder interface. Multi-providers including OpenAI (+ compatibles), PaLM, HuggingFace and local engines like llamacpp.
-
dense-analysis/neural - Integrate LLMs for generating code, interacting with chat bots, and more.
-
jpmcb/nvim-llama - LLM (Llama 2 and llama.cpp) wrappers.
-
David-Kunz/gen.nvim - Generate text using LLMs (via Ollama) with customizable prompts.
Programming Languages Support
Golang
YAML
Web Development
Markdown and LaTeX
Language
Syntax
Snippet
Register
Marks
Search
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 (Neovim >= 0.5). Allows for full asynchronicity for UI speed and usability.
-
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, supports nvim-web-devicons
, git indicators, LSP, quickfix/location lists and more. Also supports skim
as its fzf binary.
-
jvgrootveld/telescope-zoxide - Telescope integration for zoxide, a smart directory picker that tracks your usage.
-
echasnovski/mini.nvim#mini.fuzzy - Module of
mini.nvim
with functions to perform fuzzy matching of one string to others along with fast Telescope sorter.
-
axkirillov/easypick.nvim - Easypick lets you easily create Telescope pickers from arbitrary console commands.
-
linrongbin16/fzfx.nvim - E(x)tended commands missing in fzf.vim, a fzf-based fuzzy finder running on the dynamic engine that parsing user query and selection on every keystroke, with friendly features, good performance and maximized customization.
-
echasnovski/mini.nvim#mini.pick - Module of
mini.nvim
with general purpose interactive non-blocking picker that has one window design, toggleable preview, flexible and fast default match, and much more.
-
echasnovski/mini.nvim#mini.extra - Module of
mini.nvim
with extra functionality for its modules. Contains 20+ 'mini.pick' pickers, 'mini.ai' textobjects, and more.
-
fdschmidt93/telescope-egrepify.nvim - Telescope plugin for better
rg
flags in live_grep
.
File Explorer
Project
Color
Colorscheme
Tree-sitter Supported Colorscheme
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.
-
shaeinst/roshnivim-cs - Colorscheme 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 with vscode light and dark theme.
-
askfiy/visual_studio_code - A Neovim theme that highly restores vscode, so that your friends will no longer be surprised that you use Neovim, because they will think you are using vscode.
-
marko-cerovac/material.nvim - Material.nvim is a highly configurable colorscheme written in Lua and based on the material palette.
-
bluz71/vim-nightfly-colors - A dark midnight colorscheme with modern Neovim support including Tree-sitter.
-
bluz71/vim-moonfly-colors - A dark charcoal colorscheme with modern Neovim support including Tree-sitter.
-
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.
-
nyoom-engineering/oxocarbon.nvim - A dark and light Neovim theme written in fennel, inspired by IBM Carbon.
-
kyazdani42/blue-moon - A dark color scheme derived from palenight and carbonight.
-
mhartington/oceanic-next - Oceanic Next theme.
-
nvimdev/zephyr-nvim - A dark colorscheme with Tree-sitter support.
-
rockerBOO/boo-colorscheme-nvim - A colorscheme 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.
-
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.
-
Th3Whit3Wolf/one-nvim - An Atom One inspired dark and light colorscheme.
-
PHSix/nvim-hybrid - A Neovim colorscheme write in Lua.
-
Th3Whit3Wolf/space-nvim - A spacemacs inspired dark and light colorscheme.
-
yonlu/omni.vim - Omni color scheme for Vim.
-
ray-x/aurora - A 24-bit dark theme with Tree-sitter and LSP support.
-
ray-x/starry.nvim - A collection of modern Neovim colorschemes: material, moonlight, dracula (blood), monokai, mariana, emerald, earlysummer, middlenight_blue, darksolar.
-
tanvirtin/monokai.nvim - Monokai theme written in Lua.
-
ofirgall/ofirkai.nvim - Monokai theme that aims to feel like Sublime Text.
-
savq/melange-nvim - Warm colorscheme written in Lua with support for various terminal emulators.
-
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.
-
AlexvZyl/nordic.nvim - Nord for Neovim, but warmer and darker. Supports a variety of plugins and other platforms.
-
shaunsingh/nord.nvim - Neovim theme based off of the Nord Color Palette.
-
Tsuzat/NeoSolarized.nvim - NeoSolarized colorscheme with full transparency.
-
svrana/neosolarized.nvim - Dark solarized colorscheme using colorbuddy for easy customization.
-
ishan9299/nvim-solarized-lua - Solarized colorscheme in Lua (Neovim >= 0.5).
-
shaunsingh/moonlight.nvim - Port of VSCode's Moonlight colorscheme, written in Lua with built-in support for native LSP, Tree-sitter and many more plugins.
-
navarasu/onedark.nvim - A One Dark Theme (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.
-
neanias/everforest-nvim - A Lua port of the Everforest colour scheme.
-
NTBBloodbath/doom-one.nvim - Lua port of doom-emacs' doom-one.
-
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 written in Lua with Tree-sitter and built-in lsp support.
-
projekt0n/github-nvim-theme - A GitHub theme, 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.
-
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 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 extension. A light theme is included as well for the day time.
-
Everblush/everblush.nvim - A dark, vibrant and beautiful colorscheme written in Lua.
-
adisen99/apprentice.nvim - Colorscheme written in Lua based on the Apprentice color pattete with Tree-sitter and built-in lsp support.
-
olimorris/onedarkpro.nvim - One Dark Pro theme, 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.
-
echasnovski/mini.nvim#colorschemes - Color schemes included in
mini.nvim
plugin. All of them prioritize high contrast ratio for reading text and computing palettes in perceptually uniform color spaces.
-
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 (Neovim >= 0.5) and above.
-
cpea2506/one_monokai.nvim - One Monokai theme written in Lua.
-
phha/zenburn.nvim - A low-contrast dark colorscheme with support for various plugins.
-
kvrohit/rasmus.nvim - A dark color scheme written in Lua ported from rsms/sublime-theme theme.
-
chrsm/paramount-ng.nvim - A dark color scheme written using Lush. Treesitter supported.
-
kaiuri/nvim-juliana - Port of Sublime's Mariana Theme to Neovim for short attention span developers with Tree-sitter support.
-
lmburns/kimbox - A colorscheme with a dark background, and vibrant foreground that is centered around the color brown. A modification of Kimbie Dark.
-
rockyzhang24/arctic.nvim - A Neovim colorscheme ported from VSCode Dark+ theme with the strict and precise color picking for both the editor and UI.
-
ramojus/mellifluous.nvim - Pleasant and productive colorscheme.
-
Yazeed1s/minimal.nvim - Two tree-sitter supported colorschemes that are inspired by base16-tomorrow-night and monokai-pro.
-
lewpoly/sherbet.nvim - A soothing colorscheme with support for popular plugins and tree-sitter.
-
Mofiqul/adwaita.nvim - Colorscheme based on GNOME Adwaita syntax with support for popular plugins.
-
olivercederborg/poimandres.nvim - Neovim port of poimandres VSCode theme with Tree-sitter support, written in Lua.
-
kvrohit/mellow.nvim - A soothing dark color scheme with tree-sitter support.
-
gbprod/nord.nvim - An arctic, north-bluish clean and elegant Neovim theme, based on Nord Palette.
-
Yazeed1s/oh-lucy.nvim - Two tree-sitter supported colorschemes, inspired by oh-lucy in vscode.
-
embark-theme/vim - A deep inky purple theme leveraging bright colors.
-
nyngwang/nvimgelion - Neon Genesis Evangelion but for Vimmers.
-
maxmx03/FluoroMachine.nvim - Synthwave x Fluoromachine port.
-
dasupradyumna/midnight.nvim - A modern black Neovim theme with comfortable color contrast for a pleasant visual experience, with LSP and Tree-sitter support.
-
sonjiku/yawnc.nvim - Theming using pywal, with a Base16 twist.
-
sekke276/dark_flat.nvim - A Neovim colorscheme written in Lua ported from Dark Flat iTerm2 theme, with LSP and Tree-sitter support.
-
zootedb0t/citruszest.nvim - A colorscheme that features a combination of bright and juicy colors reminiscent of various citrus fruits, with LSP and Tree-sitter support.
-
2nthony/vitesse.nvim - Vitesse theme Lua port.
-
xero/miasma.nvim - A dark pastel color scheme inspired by the woods. Built using lush and supports Tree-sitter, diagnostics, CMP, Git-Signs, Telescope, Which-key, Lazy, and more.
-
Verf/deepwhite.nvim - A light colorscheme inspired by flatwhite-syntax and elegant-emacs.
-
judaew/ronny.nvim - A dark colorscheme, which mostly was inspired by the Monokai originally created by Wimem Hazenberg.
-
ribru17/bamboo.nvim - A warm green theme.
-
cryptomilk/nightcity.nvim - A dark colorscheme inspired by Inkpot, Jellybeans, Gruvbox and Tokyonight with LSP support.
-
polirritmico/monokai-nightasty.nvim - A dark/light theme based on the Monokai color palette written in Lua, support for LSP, Tree-sitter and lots of plugins.
-
oxfist/night-owl.nvim - A Night Owl colorscheme port from VSCode with support for Tree-sitter and semantic tokens.
-
text-to-colorscheme - Dynamically generated colorschemes generated on the fly with a text prompt using ChatGPT.
-
miikanissi/modus-themes.nvim - Accessible theme, conforming with the highest standard for color contrast (WCAG AAA).
Lua Colorscheme
These colorschemes may not specialize in Tree-sitter directly but are written in Lua.
Colorscheme Creation
-
tjdevries/colorbuddy.nvim - A colorscheme helper. Written in Lua! Quick & Easy Color Schemes 😄.
-
norcalli/nvim-base16.lua - Programmatic Lua library for setting base16 themes.
-
rktjmp/lush.nvim - Define Neovim themes as a DSL in Lua, with real-time feedback.
-
roobert/palette.nvim - A beautiful, versatile, systematic, theme system.
-
Iron-E/nvim-highlite - A colorscheme generator that is "lite" on logic for the developer.
-
echasnovski/mini.nvim#mini.base16 - Module of
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).
-
echasnovski/mini.nvim#mini.colors - Module of
mini.nvim
to tweak and save any color scheme. Also can animate transition and convert between some color spaces.
-
echasnovski/mini.nvim#mini.hues - Module of
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.
Colorscheme Switchers
Bars and Lines
Statusline
Tabline
Cursorline
Startup
Icon
Note Taking
-
0styx0/abbreinder.nvim - Abbreviation reminders (Neovim >= 0.5).
-
jakewvincent/mkdnflow.nvim - Fluent markdown notebook navigation & management (create links, follow links, create and manage to-do lists, reference bib files, and more).
-
oberblastmeister/neuron.nvim - Note taking plugin for neuron that integrates with telescope.nvim.
-
jbyuki/nabla.nvim - Take your scientific notes.
-
nvim-neorg/neorg - Modernity meets insane extensibility. The future of organizing your life.
-
nvim-orgmode/orgmode - Orgmode clone written in Lua (Neovim >= 0.5).
-
NFrid/due.nvim - Displays due for a date string as a virtual text.
-
jbyuki/venn.nvim - Draw ASCII diagrams.
-
stevearc/gkeep.nvim - Google Keep integration.
-
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.
-
mickael-menu/zk-nvim - Neovim extension for zk, a plain text note-taking assistant.
-
chrsm/impulse.nvim - Read Notion.so notes.
-
epwalsh/obsidian.nvim - Plugin for Obsidian, written in Lua.
-
IlyasYOY/obs.nvim - Your Obsidian notes at the speed of thought.
-
jghauser/papis.nvim - Manage your bibliography from within your favourite editor.
-
ostralyan/scribe.nvim - Take notes, easily.
-
phaazon/mind.nvim - The power of trees at your fingertips.
-
RutaTang/quicknote.nvim - Quickly take notes, in-place.
-
serenevoid/kiwi.nvim - A stripped down VimWiki with necessary features.
-
ada0l/obsidian/ - Base Obsidian functionality.
-
gsuuon/note.nvim - Daily tasks with deep-linking and project spaces.
Utility
-
gaborvecsei/usage-tracker.nvim - Track your Neovim usage and visualize statistics easily.
-
jghauser/mkdir.nvim - Automatically create missing directories when saving files.
-
matbme/JABS.nvim - Pretty and minimal buffer switcher window.
-
j-morano/buffer_manager.nvim - Add one or more buffers, reorder them, save them inside a file or just delete them very easily from a small floating 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.
-
kazhala/close-buffers.nvim - Delete multiple Vim buffers based on different conditions.
-
rktjmp/paperplanes.nvim - Post selections or buffers to online paste bins.
-
rcarriga/nvim-notify - A fancy, configurable, notification manager.
-
folke/noice.nvim - Highly experimental plugin that completely replaces the UI for messages, cmdline and the popupmenu.
-
sQVe/bufignore.nvim - Unlist hidden buffers matching specified ignore sources.
-
saifulapm/chartoggle.nvim - Toggle any character at end of line.
-
stevearc/dressing.nvim - Improve the built-in
vim.ui
interfaces with telescope, fzf, etc.
-
gaborvecsei/cryptoprice.nvim - Check the price of the defined cryptocurrencies.
-
jghauser/fold-cycle.nvim - Cycle folds open or closed.
-
rgroli/other.nvim - Open alternative files for the current buffer.
-
toppair/reach.nvim - Buffer, mark, tabpage switcher.
-
axieax/urlview.nvim - Browse all URLs in the current buffer.
-
nkakouros-original/numbers.nvim - Toggle relativenumber whenever it makes sense.
-
ghillb/cybu.nvim - Displays a notification window with context when cycling buffers.
-
sontungexpt/url-open - Open URLs under the cursor and create highlight effects for them.
-
crusj/bookmarks.nvim - Remember file locations and sort by time and frequency.
-
xiyaowong/virtcolumn.nvim - Display a line as colorcolumn.
-
m-demare/attempt.nvim - Manage and run temporary buffers.
-
kevinhwang91/nvim-ufo - Ultra fold with modern looking and performance boosting.
-
xiyaowong/link-visitor.nvim - Let me help you open the links.
-
sitiom/nvim-numbertoggle - Neovim plugin to automatically toggle between relative and absolute line numbers.
-
anuvyklack/fold-preview - Preview closed fold without opening it.
-
nguyenvukhang/nvim-toggler - Invert text, such as toggling between
true
and false
.
-
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!
-
AckslD/messages.nvim - Capture and show any messages in a customisable (floating) buffer.
-
jbyuki/instant.nvim - A collaborative editing plugin written in Lua with no dependencies.
-
numToStr/BufOnly.nvim - Lua/Neovim port of BufOnly.vim with some changes.
-
zbirenbaum/neodim - Dimming the highlights of unused functions, variables, parameters, and more.
-
bfredl/nvim-miniyank - The killring-alike plugin with no default mappings.
-
chrisgrieser/nvim-genghis - Convenience file operations, written in Lua.
-
chrisgrieser/nvim-recorder - Simplifying and improving how you interact with macros.
-
echasnovski/mini.nvim#mini.animate - Module of
mini.nvim
to add out of the box animations for common built-in actions (cursor movement, scroll, resize, window open/close).
-
figsoda/nix-develop.nvim - Run
nix develop
without restarting Neovim.
-
yaocccc/nvim-foldsign - Display folds on sign column.
-
tenxsoydev/nx.nvim - Neovim API utility wrapper for more convenience with Lua keymaps, highlights, autocommands and options.
-
zdcthomas/yop.nvim - Easily create your own operators (like
d
and y
).
-
cpea2506/relative-toggle.nvim - Toggles smoothly between number and relative numbers, supporting various number combinations, highly customizable.
-
nvim-early-retirement - Send buffers into early retirement by automatically closing them after x minutes of inactivity.
-
hbac.nvim - Automatically close buffers you are not working on.
-
ecthelionvi/NeoComposer.nvim - Simplify macro management, enhance productivity, and create harmonious workflows.
-
LukasPietzschmann/telescope-tabs - Quickly navigate between tabs using telescope.
-
RutaTang/compter.nvim - Power and extend the ability of
<C-a>
and <C-x>
with customized patterns.
-
reggie/licenses.nvim - Insert and write license headers and/or files.
-
yagiziskirik/AirSupport.nvim - Searchable reminder window for your custom shortcuts and commands.
-
aPeoplesCalendar/apc.nvim - "On this day" style calendar, which provides information about worldwide history of working class movements and liberation struggles.
-
subnut/nvim-ghost.nvim - GhostText support with zero dependencies.
-
malbertzard/inline-fold.nvim - Hide certain elements inline like long CSS classes or
href
content.
-
chrisgrieser/nvim-origami - Fold with relentless elegance.
-
GCBallesteros/NotebookNavigator.nvim - Navigate and execute code cells.
-
LintaoAmons/scratch.nvim - Create and manage scratch files.
-
luckasRanarison/nvim-devdocs - Preview devdocs.io documentations directly in Markdown format.
-
VidocqH/data-viewer.nvim - Provide a simple table view to inspect data files such as
csv
, tsv
.
-
JMarkin/gentags.lua - Auto generate tag files by ctags.
-
yutkat/confirm-quit.nvim - Confirm before quitting Neovim.
-
bgaillard/readonly.nvim - Secure edition of files containing sensible / secret information, passwords, API keys, SSH keys, etc.
-
GCBallesteros/jupytext.nvim - Edit jupyter notebooks without leaving Neovim.
Terminal Integration
Debugging
Quickfix
Deployment
Test
Code Runner
Neovim Lua Development
-
folke/neodev.nvim - Dev setup for init.lua and plugin development with full signature help, docs and completion for the Neovim Lua API.
-
nvim-neorocks/luarocks-tag-release - A GitHub action that publishes your Neovim plugins to LuaRocks.
-
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.
-
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 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).
-
kkharji/sqlite.lua - SQLite/LuaJIT binding for Lua and Neovim.
-
MunifTanjim/nui.nvim - UI Component Library.
-
echasnovski/mini.nvim#mini.doc - Module of
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.
-
echasnovski/mini.nvim#mini.test - Module of
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.
-
miversen33/import.nvim - A safe require replacement with niceties.
-
ray-x/guihua.lua - A Lua UI library. Includes a fzy search bar, list view and tree view modules.
-
anuvyklack/animation.nvim - Create animations.
-
NFrid/treesitter-utils - Some useful Treesitter methods.
-
nvim-lusc - Adds support for Structured Async/Concurrency in Lua.
Fennel
Dependency Management
Git
GitHub
Motion
-
smoka7/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.
-
ggandor/leap.nvim - A refined successor of Lightspeed, aiming to establish a widely accepted standard interface extension for moving around in Vim-like editors.
-
ggandor/flit.nvim - Enhanced f/t motions for Leap.
-
ggandor/leap-spooky.nvim - Spooky (Leap) actions at a distance.
-
folke/flash.nvim - Navigate your code with search labels, enhanced character motions and Treesitter integration.
-
echasnovski/mini.nvim#mini.jump - Module of
mini.nvim
for smarter jumping to a single character.
-
echasnovski/mini.nvim#mini.jump2d - Module of
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.
-
rlane/pounce.nvim - An EasyMotion-like plugin for quick cursor movement using fuzzy search.
-
xiaoshihou514/squirrel.nvim - Quickly jump between tree-sitter nodes.
-
gen740/SmoothCursor.nvim - Add fancy sub-cursor to signcolumn to show your scroll or jump direction.
-
edluffy/specs.nvim - A fast and lightweight Neovim Lua plugin to keep an eye on where your cursor has jumped.
-
abecodes/tabout.nvim - Jump out of brackets, quotes, objects, etc.
-
roobert/tabtree.nvim - Jump between significant code elements, such as brackets, quotes, etc.
-
woosaaahh/sj.nvim - Search based navigation combined with quick jump features.
-
Weissle/easy-action - Easily perform an action on where you can see.
-
cbochs/portal.nvim - Build upon and enhance existing jumplist motions (i.e.
<c-i>
and <c-o>
).
-
echasnovski/mini.nvim#mini.bracketed - Module of
mini.nvim
to go forward/backward with square brackets.
-
liangxianzhe/nap.nvim - Jump between next/previous buffer, tab, diagnostic, etc, with a single key.
-
chrisgrieser/nvim-spider - Use the w, e, b motions like a spider. Considers camelCase and skips insignificant punctuation.
-
gsuuon/tshjkl.nvim - Toggle to navigate and select tree-sitter nodes with hjkl.
Treesitter Based
Keybinding
-
folke/which-key.nvim - Neovim plugin that shows a popup with possible keybindings of the command you started typing.
-
echasnovski/mini.nvim#mini.clue - Module of
mini.nvim
to show next key clues. Has opt-in triggers, shows next key information after customizable delay, allows hydra-like submodes, and more.
-
mrjones2014/legendary.nvim - Define your keymaps, commands, and autocommands as simple Lua tables, and create a legend for them at the same time (like VS Code's Command Palette), integrates with
which-key.nvim
.
-
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 Neovim features like LSP support, built and configured with Lua.
-
FeiyouG/command_center.nvim - Create and manage keybindings and commands in a more organized manner and search them quickly through Telescope.
-
anuvyklack/hydra.nvim - Create custom submodes and menus. Port of Emacs Hydra.
-
anuvyklack/keymap-amend.nvim - Amend the existing keymap.
-
max397574/better-escape.nvim - Create shortcuts to escape insert mode without getting delay.
-
Nexmean/caskey.nvim - Utility to keymappings configuration using declarative cascading trees, optionally integrates with
which-key
.
-
Wansmer/langmapper.nvim - Auto translating your mappings for non-English input methods.
Mouse
Editing Support
-
windwp/nvim-ts-autotag - Use treesitter to autoclose and autorename xml,html,jsx tag.
-
windwp/nvim-autopairs - A minimalist autopairs written by Lua.
-
ZhiyuanLck/smart-pairs - Ultimate smart pairs written by Lua.
-
echasnovski/mini.nvim#mini.pairs - Module of
mini.nvim
for autopairs which has minimal defaults and functionality to do per-key mapping.
-
m4xshen/autoclose.nvim - A minimalist autoclose plugin written in Lua.
-
altermo/ultimate-autopair.nvim - Autopair with extensions.
-
utilyre/sentiment.nvim - Enhanced matchparen.
-
monaqa/dial.nvim - Extended increment/decrement.
-
HiPhish/rainbow-delimiters.nvim - Rainbow delimiters with Tree-sitter.
-
AckslD/nvim-revJ.lua - Neovim Lua plugin for doing the opposite of join-line (J) for arguments.
-
Pocco81/TrueZen.nvim - Clean and elegant distraction-free writing.
-
Pocco81/HighStr.nvim - Highlight visual selections like in a normal document editor!
-
Pocco81/AutoSave.nvim - Save your work before the world collapses or you type :qa!
-
okuuva/auto-save.nvim - Automatically saves your work as often as needed and as seldom as possible. Customizable with smart defaults. Maintained fork of Pocco81/auto-save.nvim.
-
tmillr/sos.nvim - Automatically save all your modified buffers according to a predefined timeout value.
-
folke/zen-mode.nvim - Distraction-free coding.
-
haringsrob/nvim_context_vt - Shows virtual text of the current context.
-
nvim-treesitter/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.
-
Wansmer/sibling-swap.nvim - Different way to swapping arguments and other siblings with Tree-Sitter.
-
Wansmer/binary-swap.nvim - Swapping operands and operators in binary expressions: comparison and mathematical operations.
-
nacro90/numb.nvim - Peek lines in a non-obtrusive way.
-
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 separately.
-
keaising/im-select.nvim - Switching and restoring input method automatically depends on Neovim's edit mode.
-
echasnovski/mini.nvim#mini.trailspace - Module of
mini.nvim
for automatic highlighting of trailing whitespace with functionality to remove it.
-
smjonas/live-command.nvim - Text editing with immediate visual feedback: preview commands such as
:norm
, :g
, macros and more.
-
filipdutescu/renamer.nvim - VS Code-like renaming UI, written 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 and exchange text.
-
echasnovski/mini.nvim#mini.operators - Module of
mini.nvim
with various text edit operators: replace, exchange, multiply, sort, evaluate.
-
gbprod/yanky.nvim - Improved Yank and Put functionalities.
-
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.
-
hinell/duplicate.nvim - Duplicate lines & blocks of lines easily; undo & unfolding support; full OOP.
-
hinell/move.nvim - Move chunks of text around; fork of fedepujol/move.nvim.
-
willothy/moveline.nvim - Move lines and blocks up and down easily, with indenting handled automatically as you move. Written in Rust.
-
echasnovski/mini.nvim#mini.move - Module of
mini.nvim
to move any selection (charwise, linewise, blockwise, current line in Normal mode) in any direction. Handles both v:count
and undo history.
-
anuvyklack/pretty-fold.nvim - Foldtext customization.
-
bennypowers/nvim-regexplainer - Explain the regular expression under the cursor.
-
gbprod/stay-in-place.nvim - Neovim plugin that prevent cursor from moving when using shift and filter actions.
-
echasnovski/mini.nvim#mini.ai - Module of
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.
-
Wansmer/treesj - Splitting/joining blocks of code like arrays, hashes, statements, objects, dictionaries, etc. Using Tree-Sitter. Inspired by greatest splitjoin.vim.
-
bennypowers/splitjoin.nvim - Split and join various syntax structures.
-
echasnovski/mini.nvim#mini.splitjoin - Module of
mini.nvim
to split and join arguments. Has customizable pre and post hooks. Works inside comments.
-
shortcuts/no-neck-pain.nvim - Center the currently focused buffer to the middle of your terminal.
-
debugloop/telescope-undo.nvim - A telescope extension to visualize your undo tree and fuzzy-search changes in it.
-
chrisgrieser/nvim-various-textobjs - Bundle of about a dozen custom text objects.
-
XXiaoA/ns-textobject.nvim - Awesome textobject plugin works with nvim-surround.
-
~nedia/auto-save.nvim - Extremely simple auto saving on
InsertLeave
& TextChanged
. Based on Pocco81/AutoSave but lighter.
-
echasnovski/mini.nvim#mini.basics - Module of
mini.nvim
with customizable configuration presets for common options, mappings, and autocommands.
-
niuiic/part-edit.nvim - Edit a part of a file individually.
-
niuiic/divider.nvim - Custom code divider line.
-
chrisgrieser/nvim-alt-substitute - A substitute of vim's
:substitute
that uses Lua patterns instead of vim regex. Supports incremental preview.
-
ckolkey/ts-node-action - A framework for executing functional transformations on Tree-sitter nodes - Has a lot of built-in actions for transforming text.
-
tomiis4/hypersonic.nvim - Provides explanation for RegExp.
-
00sapo/visual.nvim - Provides keybindings for creating a Kakoune/Helix-like experience: first select and then choose the editing command.
-
chrisgrieser/nvim-puppeteer - Automatically convert strings to f-strings or template strings and back.
-
nat-418/boole.nvim - Toggle booleans and common string values.
-
cshuaimin/ssr.nvim - Treesitter-based structural search and replace.
-
Jxstxs/conceal.nvim - Use Tree-sitter to conceal common boilerplate code.
-
gpanders/editorconfig.nvim - An EditorConfig plugin written in Fennel.
-
mhartington/formatter.nvim - A format runner written in Lua.
-
lukas-reineke/lsp-format.nvim - A wrapper around Neovims native LSP formatting.
-
sbdchd/neoformat - A (Neo)vim plugin for formatting code.
-
cappyzawa/trim.nvim - This plugin trims trailing whitespace and lines.
-
mcauley-penney/tidy.nvim - Clear trailing whitespace and empty lines at end of file on every save.
-
MunifTanjim/prettier.nvim - Prettier integration.
-
echasnovski/mini.nvim#mini.align - Module of
mini.nvim
for aligning text interactively (with or without instant preview).
-
emileferreira/nvim-strict - Strict, native code style formatting which exposes deep nesting, overlong lines, trailing whitespace, trailing empty lines, todos and inconsistent indentation.
-
~nedia/auto-format.nvim - Does no formatting by itself, but sets up an autocmd to format on save, preferring null-ls over LSP client formatting.
-
tenxsoydev/tabs-vs-spaces.nvim - Hint and fix deviating indentation.
-
bennypowers/svgo.nvim - Optimize SVG files.
-
niuiic/format.nvim - An asynchronous, multitasking, and highly configurable formatting plugin.
-
elentok/format-on-save.nvim - A synchronous formatter that combines LSP and non-LSP formatting (e.g. shfmt, stylua, prettier), focused specifically on format-on-save.
-
stevearc/conform.nvim - A lightweight formatting engine that plays nice with LSP.
-
nvimdev/guard.nvim - Minimalist async formatting and linting plugin.
Indent
Command Line
Session
Remote Development
Split and Window
Tmux
Game
Competitive Programming
Workflow
-
sontungexpt/stinvim - Ready Neovim's configuration for fullstack developers.
-
Abstract-IDE/Abstract - Abstract, The Neovim configuration to achieve the power of Modern IDE.
-
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.
-
LazyVim/LazyVim - Full-fledged IDE powered by lazy.nvim to make it easy to customize and extend your config.
-
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).
-
LunarVim/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
-
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.
-
AstroNvim/AstroNvim - AstroNvim is an aesthetic and feature-rich Neovim config that is extensible and easy to use with a great set of plugins.
-
shaunsingh/nyoom.nvim - Blazing fast, configurable, minimal and lispy neovim config written in Fennel. Base config for users to extend and add upon, leading to a more unique editing experience.
-
jrychn/moduleVim - A very easy to use
for backend and frontend, install lsp automatically.
-
askfiy/nvim - An excellent Neovim configuration, which is as powerful as Vscode, is lightning fast ⚡️.
-
imbacraft/dusk.nvim - Dusk is a lightweight, aesthetically minimal Neovim config, written in Lua, able to provide for web and Java development.
-
nvim-lua/kickstart.nvim - A launch point for your personal Neovim configuration.
-
cunderw/nvim - Neovim custom configuration, focused on JS/TS, Go, and Java development. Very IDE like.
-
otavioschwanck/mood-nvim - Ready to use configuration for Ruby on Rails, JavaScript and Typescript.
-
ldelossa/nvim-ide - A full featured IDE layer heavily inspired by VSCode.
-
jonathandion/web-dev.nvim - Small, simple and flexible configuration for web development ✨.
-
linrongbin16/lin.nvim - A highly configured Neovim distribution integrated with tons of utilities for development, inspired by spf13-vim.
-
doctorfree/nvim-lazyman - Neovim configuration manager and modular configuration, supports over 40 preconfigured configurations.
-
NormalNvim/NormalNvim - Focused on stability for your daily work. From the creator of Compiler.nvim.
-
chrisgrieser/nvim-kickstart-python - A launch point for your Neovim configuration for Python.
-
mrcjkb/kickstart-nix.nvim - A simple Nix flake template repo for Neovim derivations, with the goal of simplifying the migration from existing Neovim configurations.
External
These tools are used externally to Neovim to enhance the experience.
Version Manager
Boilerplate
OS-specific
Wishlist
Have a problem a plugin can solve? Add it to the nvim-lua wishlist.
UI
Neovim supports a wide variety of UI's.
You can find them listed on the Neovim wiki
Starter Templates
Vim
Resource
-
Neovimcraft - A site dedicated to searching specific plugins and guides for building plugins in Lua.
-
Dotfyle - Dotfyle is a site for sharing and discovering Neovim configs and plugins.