.github | ||
CONTRIBUTING.md | ||
LICENSE | ||
README.md |
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.
- 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.
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.
Diagnostics
- andrewferrier/textobj-diagnostic - Text object for diagnostics (such as those generated by LSP servers).
- ~whynothugo/lsp_lines.nvim - Render diagnostics using virtual lines on top of the real line of code.
- 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.
- piersolenski/wtf.nvim - AI powered diagnostic debugging, helps explain complex errors and offers custom tailored solutions.
- 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.
- chrisgrieser/nvim-rulebook - Add inline-comments to ignore rules, or lookup rule documentation online.
- artemave/workspace-diagnostics.nvim - Populate diagnostics for all projects files, not just the opened ones.
Completion
- ms-jpq/coq_nvim - Fast as FUCK Neovim completion. SQLite, concurrent scheduler, hundreds of hours of optimization.
- hrsh7th/nvim-cmp - A completion plugin written in Lua. New version of nvim-compe.
- lukas-reineke/cmp-under-comparator - A nvim-cmp function for better sorting.
- SergioRibera/cmp-dotenv - Load environment variables from the shell or from your
.env
files.
- echasnovski/mini.nvim#mini.completion - Module of
mini.nvim
for asynchronous two-stage completion. Supports showing completion item info and independent function signature. - deathbeam/autocomplete.nvim - Very simple and minimal autocompletion for cmdline and buffer using LSP and Tree-sitter with signature help.
- vigoux/complementree.nvim - Light and synchronous completion plugin based on tree-sitter and with a functional-programming interface.
- nvimdev/epo.nvim - Blazingly fast, minimal LSP auto-completion and snippet engine.
- zbirenbaum/copilot.lua - Fully featured Lua replacement for GitHub/copilot.vim.
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/model.nvim - Integrate LLMs 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.
- kiddos/gemini.nvim - Bindings to Google Gemini API.
- olimorris/codecompanion.nvim - Copilot chat like experience via a buffer. Supports Anthropic, Ollama and OpenAI.
- simplegpt.nvim - Provide a simple yet flexible way to construct and send questions to ChatGPT.
- Exafunction/codeium.nvim - Free, ultrafast Copilot alternative. Supports LSP and Tree-sitter.
Programming Languages Support
- Julian/lean.nvim - Neovim support for the Lean Theorem Prover.
- akinsho/flutter-tools.nvim - Build Flutter and Dart applications using the native LSP.
- brendalf/mix.nvim - Mix (from Elixir) wrapper plugin.
- AckslD/swenv.nvim - Tiny plugin to quickly switch Python virtual environments without restarting.
- roobert/f-string-toggle.nvim - Toggle python f-strings.
- gennaro-tedesco/nvim-jqx - Interactive interface for JSON files.
- nanotee/sqls.nvim - SQL database connection plugin + LSP client.
- dmmulroy/tsc.nvim - Asynchronous project-wide TypeScript type-checking using the TypeScript compiler (TSC) with results loaded into a quickfix list.
- dmmulroy/ts-error-translator.nvim - A port of Matt Pocock's ts-error-translator for VSCode for turning messy and confusing TypeScript errors into plain English.
- chuwy/ucm.nvim - Navigating Unison projects.
- niuiic/typst-preview.nvim - Preview typst documents, respond to file changes.
- simaxme/java.nvim - Some utilities regarding Java development (e.g. updating symbol usages when renaming or moving a file in nvim-tree).
- chomosuke/typst-preview.nvim - Preview typst documents in the browser, instant update on each keystroke, and cross jump between code and preview.
- quarto-dev/quarto-nvim - Tools for working with Quarto documents.
- iabdelkareem/csharp.nvim - Enhances the development experience for .NET developers.
- jim-at-jibba/micropython.nvim - Enhances the development experience for developers using Micro-python for IoT and maker projects.
Golang
- ray-x/go.nvim - Golang plugin based on lsp and Treesitter.
- crusj/structrue-go.nvim - A better structured display of Golang symbols information.
- crispgm/nvim-go - A minimal implementation of Golang development plugin.
- edolphin-ydf/goimpl.nvim - Generate interface stubs for a type.
- olexsmir/gopher.nvim - Plugin for making Golang development easiest.
- rafaelsq/nvim-goc.lua - Highlight your buffer with Golang Code Coverage.
- crusj/hierarchy-tree-go.nvim - Neovim plugin for Golang, callHierarchy UI tree.
- yanskun/gotests.nvim - Make Go tests easy with gotests.
YAML
- someone-stole-my-name/yaml-companion.nvim - Get, set and autodetect YAML schemas in your buffers.
- cuducos/yaml.nvim - Utils to work with YAML files.
Web Development
- NTBBloodbath/rest.nvim - A fast Neovim HTTP client written in Lua.
- ray-x/web-tools.nvim - Launch a local development server with live reload feature for static & dynamic pages, HTML & CSS tag rename with LSP.
- roobert/tailwindcss-colorizer-cmp.nvim - Add vscode-style TailwindCSS completion to nvim-cmp.
- luckasRanarison/tailwind-tools.nvim - Unofficial TailwindCSS tooling.
Markdown and LaTeX
- ellisonleao/glow.nvim - Markdown preview using glow.
- ellisonleao/dotenv.nvim - Minimalist .env support.
- iamcco/markdown-preview.nvim - Preview markdown on your modern browser with synchronised scrolling and flexible configuration.
- 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.
- jubnzv/mdeval.nvim - Evaluate code blocks inside markdown documents.
- kdheepak/panvimdoc - A pandoc to vimdoc GitHub action.
- frabjous/knap - Plugin for creating automatic updating-as-you-type previews for markdown, LaTeX and other documents.
- jbyuki/carrot.nvim - Markdown evaluator Lua code blocks.
- AckslD/nvim-FeMaco.lua - Catalyze your Fenced Markdown Code-block editing.
- Nedra1998/nvim-mdlink - Simplify creating and following markdown links.
- nfrid/markdown-togglecheck - Simple Neovim plugin for toggling check boxes using Treesitter.
- toppair/peek.nvim - Preview markdown in a webview window.
- yaocccc/nvim-hl-mdcodeblock.lua - Highlight markdown codeblock using Tree-sitter.
- kiran94/edit-markdown-table.nvim - Edit Markdown Tables using Tree-sitter.
- richardbizik/nvim-toc - Easily generate table of contents for markdown files.
- Zeioth/markmap.nvim - Visualize your Markdown as mindmaps.
- tadmccorkle/markdown.nvim - Configurable tools for markdown files, including inline-style, link, and navigation keymaps, table of contents, improved list editing, and more.
- mpas/marp-nvim - Present using markdown with Marp.
- Myzel394/easytables.nvim - Easily insert and edit markdown tables with a live preview and useful helpers.
PHP
- gbprod/phpactor.nvim - Lua version of the Phpactor Vim plugin to take advantage of the latest Neovim features.
- ta-tikoma/php.easy.nvim - Methods of assistance in PHP development: create classes, constants, methods, properties; simple copying and deleting of an entity.
Language
- potamides/pantran.nvim - Translate your text with an interactive translation window.
- niuiic/translate.nvim - Invoke any translation engine via shell command.
- tanloong/interlaced.nvim - Help align bilingual parallel texts.
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.
- kylechui/nvim-surround - A plugin for adding/changing/deleting surrounding delimiter pairs.
- roobert/surround-ui.nvim - Helper or training aid for kylechui/nvim-surround.
- echasnovski/mini.nvim#mini.surround - Module of
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. - m-demare/hlargs.nvim - Highlight arguments' definitions and usages, using Treesitter.
- LhKipp/nvim-nu - Basic editor support for the nushell language.
- desdic/agrolens.nvim - Navigate via Tree-sitter nodes using Telescope.
- IndianBoy42/tree-sitter-just - Treesitter grammar for Justfiles.
Snippet
- norcalli/snippets.nvim - Snippets in Lua.
- L3MON4D3/LuaSnip - A snippet engine written in Lua.
- smjonas/snippet-converter.nvim - Convert snippets between the most common snippet formats and modify them using a few lines of Lua code.
- dcampos/nvim-snippy - Snippet plugin written in Lua with support for vim-snippets.
- ellisonleao/carbon-now.nvim - Create beautiful code snippets directly from Neovim.
- TobinPalmer/rayso.nvim - Create code snippets in Neovim using ray.so.
- mrcjkb/haskell-snippets.nvim - Haskell snippets for LuaSnip, powered by Tree-sitter and LSP.
- rafamadriz/friendly-snippets - Set of preconfigured snippets for different languages.
- cvigilv/esqueleto.nvim - Simple templates to use when creating new files.
- chrisgrieser/nvim-scissors - Automagical editing and creation of 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.
- tenxsoydev/karen-yank.nvim - More intentional register handling with delete, cut and yank mappings.
- desdic/macrothis.nvim - Save and load macros/registers.
- kr40/nvim-macros - Easy way to save and load Macros, with backup and formatting options.
Marks
- cbochs/grapple.nvim - Provides tagging, cursor tracking, and immediate navigation to important project files.
- chentoast/marks.nvim - A better user experience for viewing and interacting with Vim marks.
- ThePrimeagen/harpoon - A per project, auto updating and editable marks utility for fast file navigation.
- abeldekat/harpoonline - Create up-to-date harpoon2 information to be used in a status-line.
- otavioschwanck/arrow.nvim - Like harpoon, but with a different UX, single keybinding needed and statusline support.
- ofirgall/open.nvim - Open the current word with custom openers, GitHub shorthand for example.
- LeonHeidelbach/trailblazer.nvim - TrailBlazer introduces a stack based mark system that enables a completely new dynamic and super fast workflow using project wide marks.
- tomasky/bookmarks.nvim - Bookmarks with global file storage, written in Lua.
- LintaoAmons/bookmarks.nvim - Your new bookmarks option: simple yet powerful.
- desdic/marlin.nvim - Like harpoon, but with key differences like project path, split support, no UI.
- fnune/recall.nvim - Recall refines the use of marks by focusing on global marks, streamlining their usage and enhancing their visibility and navigability.
Search
- kevinhwang91/nvim-hlslens - Helps you better glance searched information, seamlessly jump matched instances.
- rktjmp/highlight-current-n.nvim - Highlights the current /, ? or * match under your cursor when pressing n or N and gets out of the way afterwards.
- gaborvecsei/memento.nvim - Keeps track of your visited file history after a buffer is closed. Reopen files more easily.
- ray-x/sad.nvim - Space Age seD in neovim. Batch file edit tool, a wrapper for sad
- s1n7ax/nvim-search-and-replace - Search and replace in multiple files at the same time from the current working directory.
- roobert/search-replace.nvim - Builds on the native search and replace experience.
- AckslD/muren.nvim - Multiple replacements through interactive UI.
- windwp/nvim-spectre - Search and replace panel.
- nvimdev/hlsearch.nvim - Auto remove search highlight and rehighlight when using n or N.
- mangelozzi/rgflow.nvim - Quickly get RipGrep results into an editable Quickfix list, while learning RipGrep's CLI.
- duane9/nvim-rg - Run RipGrep asynchronously and see results in a quickfix window.
- FabianWirth/search.nvim - Tabs for different Telescope pickers.
- backdround/improved-search.nvim - Add search abilities.
- polirritmico/telescope-lazy-plugins.nvim - A Telescope picker to quickly access plugins configurations from the lazy.nvim spec.
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, 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.
- 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 - A fuzzy finder that updates on every keystroke.
- 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 inlive_grep
.
File Explorer
- kyazdani42/nvim-tree.lua - A simple and fast file explorer tree.
- luukvbaal/nnn.nvim - File explorer powered by nnn and Lua.
- tamago324/lir.nvim - Simple file explorer.
- TimUntersberger/neofs - A file manager written in Lua.
- kevinhwang91/rnvimr - A simple yet amazing file explorer.
- Xuyuanp/yanil - Yet Another Nerdtree In Lua.
- ms-jpq/chadtree - File manager. Better than NERDTree.
- is0n/fm-nvim - Neovim plugin that lets you use your favorite terminal file managers (and fuzzy finders).
- rolv-apneseth/tfm.nvim - Similar to
fm-nvim
, this provides Neovim integration for several popular terminal file managers (including yazi). - nvim-neo-tree/neo-tree.nvim - Neo-tree is a Neovim plugin to browse the file system and other tree like structures in whatever style suits you, including sidebars, floating windows, netrw split style, or all of them at once.
- elihunter173/dirbuf.nvim - A file manager which lets you edit your filesystem like you edit text.
- theblob42/drex.nvim - A simple and configurable file explorer written in Lua.
- SidOfc/carbon.nvim - The simple directory tree viewer written in Lua.
- dinhhuy258/sfm.nvim - An alternative to Nvim-tree designed to be extensible and minimalist.
- kiran94/s3edit.nvim - Edit files from Amazon S3 directly from Neovim.
- stevearc/oil.nvim - Edit your filesystem like a buffer.
- kelly-lin/ranger.nvim - Ranger integration for neovim.
- simonmclean/triptych.nvim - A directory browser inspired by Ranger.
- echasnovski/mini.nvim#mini.files - Module of
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. - prichrd/netrw.nvim - Add icons and custom keybindings to netrw.
Project
- pluffie/neoproj - Small yet powerful project (and session) manager.
- Abstract-IDE/penvim - Project's root directory and documents Indentation detector with project based config loader.
- windwp/nvim-projectconfig - Load Neovim config depend on project directory.
- ahmedkhalf/project.nvim - An all in one Neovim plugin that provides superior project management.
- klen/nvim-config-local - Secure load local config files from working directories.
- cljoly/telescope-repo.nvim - Telescope picker to jump to any repository (git or other) on the file system.
- otavioschwanck/telescope-alternate.nvim - Alternate between common files using telescope.
- natecraddock/workspaces.nvim - Manage workspace directories.
- gnikdroy/projections.nvim - Tiny project + session manager.
- nyngwang/suave.lua - Multi-tabs project session automation.
- desdic/telescope-rooter.nvim - Makes sure to always start telescope (and only telescope) from the project/root directory.
- SalOrak/whaler.nvim - Telescope extension to move between directories blazingly fast.
- echasnovski/mini.nvim#mini.visits - Module of
mini.nvim
to persistently track and reuse file system visits. Allows listing "recent"/"frequent"/"frecent" visits, adding/removing labels to visits and other data. - LintaoAmons/cd-project.nvim - All you need is just an easier way to
cd
to another project directory.
Color
- NvChad/nvim-colorizer.lua - A high-performance color highlighter which has no external dependencies!.
- 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.
- koenverburg/peepsight.nvim - Focus only the function your cursor is in.
- uga-rosa/ccc.nvim - Super powerful color picker / colorizer plugin.
- ziontee113/color-picker.nvim - Plugin that lets users choose & modify RGB/HSL/HEX colors inside Neovim.
- lcheylus/overlength.nvim - A small plugin to highlight too long lines.
- brenoprata10/nvim-highlight-colors - A plugin to highlight colors with Neovim.
- nvim-colortils/colortils.nvim - A plugin providing utils to work with colors (picker, conversion) inside Neovim.
- Mr-LLLLL/interestingwords.nvim - Highlight multiple word same time and navigate word under cursor with scrolling smoothly, display search count in virualtext.
- echasnovski/mini.nvim#mini.hipatterns - Module of
mini.nvim
to highlight patterns in text with configurable highlighters. Works asynchronously with configurable debounce delay. - miversen33/sunglasses.nvim - Dynamic Colorscheme/highlight adjuster on window switching.
- rasulomaroff/reactive.nvim - Set global and window-specific highlights or trigger callbacks when modes/operators change or windows are switched.
- moyiz/command-and-cursor.nvim - Highlight cursor and visual selections when entering command mode.
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.
- sontungexpt/witch - The primary stinvim distro colorscheme includes the default feature of dimming inactive windows, along with various other customization options for users.
- 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.
- crispybaccoon/evergarden - A comfy Neovim colorscheme for cozy morning coding.
- 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.nvim - A port of the great Atom theme. Beautiful, dark colour scheme.
- 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).
- jthvai/lavender.nvim - Purple-hued dark mode colorscheme; a complete rewrite of shaunsingh/moonlight.nvim.
- 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/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 - Atom's iconic One Dark theme. Cacheable, fully customisable, Tree-sitter and LSP semantic token support. Comes with light and dark variants.
- 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.
- kevinm6/kurayami.nvim - Dark (only) theme.
- 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).
- alexmozaidze/palenight.nvim - Palenight colorscheme supporting Tree-sitter, LSP (including semantic tokens) and lots of plugins.
- scottmckendry/cyberdream.nvim - A high-contrast, futuristic & vibrant coloursheme.
- HoNamDuong/hybrid.nvim - A dark theme written in Lua.
- sxwpb/halfspace.nvim - A semi-light colorscheme for minimal eye melting.
- bartekjaszczak/distinct-nvim - Theme with distinct syntax colours. Supports Tree-sitter and semantic highlighting. For people who love multi-colour syntax highlighting.
- samharju/synthweave.nvim - Synthwave '84 colorscheme port.
- loganswartz/sunburn.nvim - A colorscheme sitting somewhere between pastels and solarized, emphasizing readability and hue uniformity above all else.
- ptdewey/darkearth-nvim - A dark and earthy colorscheme supporting Tree-sitter and LSP.
- uloco/bluloco.nvim - A dark and earthy colorscheme supporting Tree-sitter and LSP.
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.
- lalitmee/cobalt2.nvim - A port of cobalt2 colorscheme using colorbuddy.
- calind/selenized.nvim - Lua port of Selenized theme with support for Tree-sitter, nvim-cmp, GitSigns and some more.
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. - loganswartz/polychrome.nvim - A colorscheme micro-framework, with support for specifying colors directly in many different formats (sRGB, HSL, Oklab, XYZ and more, with intelligent chroma clipping), live editing preview, and a simple DSL.
Colorscheme Switchers
- 4e554c4c/darkman.nvim - Follow the system dark-mode setting on Linux.
- f-person/auto-dark-mode.nvim - Follow the system appearance on macOS.
- zaldih/themery.nvim - A new way to change the colorscheme on the fly like in vscode.
- linrongbin16/colorbox.nvim - Load all the ultra colorschemes into your Neovim player!
- CWood-sdf/pineapple - Install any colorscheme in your config without leaving your terminal. Collects every colorscheme on the internet and allows you to preview them all before installing.
Bars and Lines
- Bekaboo/deadcolumn.nvim - Shows your colorcolumn dynamically.
- ecthelionvi/NeoColumn.nvim - Toggleable colorcolumn highlighting specific characters.
- m4xshen/smartcolumn.nvim - Hide your colorcolumn when unneeded.
- utilyre/barbecue.nvim - A VS Code like winbar.
- Bekaboo/dropbar.nvim - IDE-like breadcrumbs, out of the box.
- SmiteshP/nvim-navic - A simple statusline/winbar component that uses LSP to show your current code context.
- luukvbaal/statuscol.nvim - Configurable 'statuscolumn' with builtin segments and click handlers.
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.
- sontungexpt/sttusline - Very lightweight, super fast and lazyloading statusline.
- nvim-lualine/lualine.nvim - A blazing fast and easy to configure Neovim statusline.
- adelarsq/neoline.vim - A light statusline/tabline plugin using Lua.
- ojroques/nvim-hardline - A statusline / bufferline. It is inspired by vim-airline but aims to be as light and simple as possible.
- beauwilliams/statusline.lua - A zero-config minimal statusline written in Lua featuring awesome integrations and blazing speed!
- tamton-aquib/staline.nvim - A modern lightweight statusline in Lua. Mainly uses unicode symbols for showing info.
- freddiehaddad/feline.nvim - A minimal, stylish and customizable statusline written in Lua.
- windwp/windline.nvim - The next generation statusline. Animation statusline.
- konapun/vacuumline.nvim - A galaxyline configuration inspired by airline.
- echasnovski/mini.nvim#mini.statusline - Module of
mini.nvim
for minimal and fast statusline. Supports content change depending on window width. - b0o/incline.nvim - Lightweight floating statuslines, intended for use with Neovim's new global statusline.
- rebelot/heirline.nvim - Heirline.nvim is a no-nonsense Neovim Statusline plugin designed around recursive inheritance to be exceptionally fast and versatile.
- zeioth/heirline-components.nvim - 30+ Heirline.nvim components you can use out of the box to create your perfect user interface.
- yaocccc/nvim-lines.lua - A fast, light, customizable Neovim statusline and tabline(buffers) plugin.
- MunifTanjim/nougat.nvim - Hyperextensible Statusline / Tabline / Winbar.
- Mr-LLLLL/lualine-ext.nvim - Show more information on lualine.
- mikesmithgh/git-prompt-string-lualine.nvim - Add git-prompt-string to your statusline.
Tabline
- romgrk/barbar.nvim - The Neovim tabline plugin.
- akinsho/bufferline.nvim - A snazzy buffer line 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.
- kdheepak/tabline.nvim - A "buffer and tab" tabline.
- willothy/nvim-cokeline - A bufferline for people with addictive personalities.
- tomiis4/BufferTabs.nvim - Simple and Fancy tabline.
- echasnovski/mini.nvim#mini.tabline - Module of
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.
- nanozuki/tabby.nvim - A minimal, configurable, Neovim style tabline. Use your Neovim tabs as workspace multiplexer.
- roobert/bufferline-cycle-windowless.nvim - A bufferline extension to cycle through windowless buffers to give a more traditional tab based experience.
- mg979/tabline.nvim - A comprehensive tabline for rendering and managing tabs, buffers or arglist, and featuring buffer filtering, fzf integration and session management.
Cursorline
- yamatsum/nvim-cursorline - A plugin that highlights cursor words and lines.
- xiyaowong/nvim-cursorword - Part of nvim-cursorline. Highlight the word under the cursor.
- sontungexpt/stcursorword - Highlight the word under the cursor (Improved and compact version of nvim-cursorline).
- RRethy/vim-illuminate - Highlight the word under the cursor. Neovim's builtin LSP is available, it can be used to highlight more intelligently.
- echasnovski/mini.nvim#mini.cursorword - Module of
mini.nvim
for automatic highlighting of word under cursor (displayed after customizable delay). - mawkler/modicator.nvim - Cursor line number mode indicator. Changes the
CursorLineNr
highlight based on Vim mode. - nyngwang/murmur.lua - Super-fast cursor word highlighting with callbacks(I call them murmurs) included.
Startup
- nvimdev/dashboard-nvim - A minimalist dashboard, inspired by doom-emacs.
- goolord/alpha-nvim - A fast and highly customizable greeter like vim-startify/dashboard-nvim.
- echasnovski/mini.nvim#mini.starter - Module of
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.
- startup-nvim/startup.nvim - The fully customizable greeter for neovim.
- willothy/veil.nvim - A blazingly fast, animated, and infinitely customizable startup / dashboard plugin.
- TobinPalmer/Tip.nvim - Get a simple tip when you launch Neovim.
- CWood-sdf/spaceport.nvim - The start screen that gets you to your projects blazingly fast.
Icon
- kyazdani42/nvim-web-devicons - A Lua fork of vim-devicons.
- yamatsum/nvim-nonicons - Collection of configurations for nvim-web-devicons.
- ziontee113/icon-picker.nvim - Help you pick 𝑨𝕃𝚻 Font Characters, Symbols Σ, Nerd Font Icons & Emojis ✨.
- 2KAbhishek/nerdy.nvim - Find and insert the latest nerd font glyphs.
Media
- edluffy/hologram.nvim - A cross platform terminal image viewer. Works on macOS and Linux.
- hakonharnes/img-clip.nvim - Effortlessly embed images into any markup language, like LaTeX, Markdown or Typst.
- ekickx/clipboard-image.nvim - Neovim Lua plugin to paste image from clipboard.
- niuiic/cp-image.nvim - Paste image from clipboard and insert the reference code.
- askfiy/nvim-picgo - A picgo-core-based Neovim plugin, written in Lua, that allows you to upload images to the image bed, which means you can view your images from anywhere on the internet.
- gwatcha/reaper-keys - Modal keybindings for Reaper DAW.
- madskjeldgaard/reaper-nvim - Remote control Reaper DAW from Neovim.
- davidgranstrom/scnvim - Neovim frontend for SuperCollider.
- andweeb/presence.nvim - Fast and lite Discord Rich Presence plugin written in Lua.
- Chaitanyabsrip/present.nvim - A Presentation plugin written in Lua.
- krady21/compiler-explorer.nvim - Async Lua plugin for interacting with compiler-explorer.
- samodostal/image.nvim - Image Viewer as ASCII Art.
- 3rd/image.nvim - Add image support through Kitty's graphics protocol or ueberzugpp.
- adelarsq/image_preview.nvim - Image preview based on terminal's Image Protocol support.
- niuiic/code-shot.nvim - Take a picture of the code.
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.
- backdround/global-note.nvim - One global note in a floating window.
- 2KAbhishek/tdo.nvim - Fast and simple note taking.
Utility
- gaborvecsei/usage-tracker.nvim - Track your Neovim usage and visualize statistics easily.
- mateuszwieloch/automkdir.nvim - Automatically create non-existent parent directories when writing a file.
- 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.
- echasnovski/mini.nvim#mini.notify - Module of
mini.nvim
to show one or more highlighted notifications in a single window. Provides maker ofvim.notify()
implementation and sets up automated LSP progress updates. - 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
andfalse
. - 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
andy
). - 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.
- ragnarok22/whereami.nvim - Test your VPN by getting you current location.
- 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.
- ariel-frischer/bmessages.nvim - Replace the default :messages window with a configurable, auto-updating buffer.
- LintaoAmons/easy-commands.nvim - A collection of intuitive, easily searchable, and ready-to-use commands.
- backdround/tabscope.nvim - Make tab-local buffers.
- linrongbin16/gentags.nvim - The tags generator/management for old school vimers.
- theKnightsOfRohan/csvlens.nvim - A port of YS-L/csvlens, for easy previewing of tabular data.
- Mr-LLLLL/utilities.nvim - A repository to collect some little utility functions.
- mcauley-penney/visual-whitespace.nvim - See whitespace characters in Visual selections, like VSCode.
- Zeioth/distroupdate.nvim - Distro agnostic updater to get the latest changes from the git repository of your config.
- SUSTech-data/neopyter - The bridge between Neovim and jupyter lab, edit in Neovim and preview/run in jupyter lab.
- terje/simctl.nvim - Interact with iOS Simulators.
- pluffie/md-babel.nvim - Run code chunks from Markdown files, like org-babel.
- mistricky/codesnap.nvim - Snapshot plugin with rich features that can make pretty code snapshots.
Terminal Integration
- 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.
- 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.
- RAprogramm/nekifoch - Managing Kitty terminal font settings.
- 2KAbhishek/termim.nvim - Neovim Terminal, Improved.
- samharju/yeet.nvim - Run shell commands in terminal buffers or tmux panes.
Debugging
- mfussenegger/nvim-dap - Debug Adapter Protocol client implementation.
- sakhnik/nvim-gdb - Thin wrapper for GDB, LLDB, PDB/PDB++ and BashDB.
- rcarriga/nvim-dap-ui - A UI for nvim-dap.
- Pocco81/DAPInstall.nvim - Manage several debuggers for nvim-dap.
- Weissle/persistent-breakpoints.nvim - Persistent breakpoints for nvim-dap.
- ofirgall/goto-breakpoints.nvim - Cycle between breakpoints for nvim-dap.
- andrewferrier/debugprint.nvim - Debugging the print() way.
- t-troebst/perfanno.nvim - Annotate your code with callgraph profiling data. Native support for perf, flamegraph and the LuaJit profiler.
- niuiic/dap-utils - Utilities to provide a better experience for using nvim-dap.
- theHamsta/nvim-dap-virtual-text - Virtual text support for nvim-dap.
- chrisgrieser/nvim-chainsaw - Speed up log creation. Creates various kinds of language-specific log statements, like logs of variables, assertions, or time-measuring.
- Willem-J-an/visidata.nvim - Render pandas dataframes in nvim-dap using the power of visidata.
Quickfix
- kevinhwang91/nvim-bqf - The goal of nvim-bqf is to make Neovim's quickfix window better.
- yorickpeterse/nvim-pqf - Prettier quickfix/location list windows.
- nyngwang/NeoWell.lua - Sometimes you will want to fix some lines later. Store lines into qf with some note so you know what to do when you really want to fix it.
- ashfinal/qfview.nvim - Pretty quickfix/location view with consistent path-shorten and folding.
Deployment
- coffebar/transfer.nvim - Sync and diff with remote server using rsync and OpenSSH.
- OscarCreator/rsync.nvim - Automatically sync up/down project to a remote with rsync.
- sachinsenal0x64/hot.nvim - A hot reloader that works with any programming language.
Test
- David-Kunz/jester - Easily run and debug Jest tests.
- klen/nvim-test - A Neovim wrapper for running tests.
- nvim-neotest/neotest - An extensible framework for interacting with tests within Neovim.
- andythigpen/nvim-coverage - Displays coverage information in the sign column.
Code Runner
- michaelb/sniprun - Run parts of code of any language directly from Neovim.
- pianocomposer321/yabs.nvim - Yet Another Build System, written in Lua.
- CRAG666/code_runner.nvim - The best code runner you could have, with super powers.
- is0n/jaq-nvim - Just Another Quickrun Plugin in Lua.
- jedrzejboczar/toggletasks.nvim - Task runner with JSON/YAML configs, using toggleterm.nvim and telescope.nvim.
- EthanJWright/vs-tasks.nvim - Telescope picker for VSCode style tasks.
- stevearc/overseer.nvim - A task runner and job management plugin.
- smzm/hydrovim - Run python code inside Neovim.
- desdic/greyjoy.nvim - A modular task runner for Makefiles, vscode tasks, kitchen etc.
- Shatur/neovim-tasks - A stateful task manager focused on integration with build systems.
- milanglacier/yarepl.nvim - Yet Another REPL, flexible, supporting multiple paradigms to interact with REPLs, and native dot repeat without other dependencies.
- hkupty/iron.nvim - Interactive REPLs of over 30 languages embedded.
- Civitasv/cmake-tools.nvim - CMake integration.
- idanarye/nvim-moonicipal - Task runner with focus on rapidly changing personal tasks.
- MarcHamamji/runner.nvim - A customizable Lua code runner.
- google/executor.nvim - Allows you to run command line tasks in the background and be notified of results.
- Zeioth/compiler.nvim - Compiler for building and running your code without having to configure anything.
- Zeioth/makeit.nvim - Makefile runner based on overseer.
- jaytyrrell13/static.nvim - Run static site generator commands.
- dasupradyumna/launch.nvim - A simple and quick task launcher which allows dynamically configuring tasks on the fly, with optional support for debugging.
- benlubas/molten-nvim - Enables running code chunks via the jupyter kernel. Output (including image output) is rendered in a floating window below the code.
- bfredl/nvim-ipy - Make interfacing with IPython/Jupyter easier.
- pianocomposer321/officer.nvim - Like dispatch.vim but using overseer.nvim.
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
- Olical/aniseed - Configure and extend Neovim with Fennel (Lisp to Lua).
- Olical/nfnl - Streamlined successor to Aniseed, compiling Fennel to Lua on file write.
- Olical/conjure - Interactive evaluation (Clojure, Fennel, Janet, Racket, Hy, MIT Scheme, Guile).
- rktjmp/hotpot.nvim - Seamless, transparent Fennel inside Neovim.
- udayvir-singh/tangerine.nvim - Sweet 🍊 Fennel integration, aims to be as fast as possible.
- udayvir-singh/hibiscus.nvim - Flavored 🌺 Fennel macro library.
Dependency Management
- vuki656/package-info.nvim - Display latest package version as virtual text in package.json.
- Saecki/crates.nvim - Rust dependency management for
Cargo.toml
. - piersolenski/telescope-import.nvim - Import modules faster based on what you've already imported in your project.
Git
- f-person/git-blame.nvim - Show git blame info.
- lewis6991/gitsigns.nvim - Git integration: signs, hunk actions, blame, etc.
- echasnovski/mini.nvim#mini.diff - Module of
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. - NeogitOrg/neogit - A Magit clone 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.
- linrongbin16/gitlinker.nvim - Maintained fork of "ruifm's gitlinker", refactored with bug fixes, ssh aliases, blame support and other improvements.
- tanvirtin/vgit.nvim - Visual Git Plugin 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.
- AckslD/nvim-gfold.lua - Plugin using gfold to switch repo and have statusline component.
- akinsho/git-conflict.nvim - A plugin to visualise and resolve merge conflicts.
- aaronhallaert/advanced-git-search.nvim - Search your git history by commit content, message and author with Telescope.
- 9seconds/repolink.nvim - Generate shareable HTTP permalinks for various Git web frontends.
- chrisgrieser/nvim-tinygit - Lightweight and nimble git client.
- niuiic/git-log.nvim - Check git log of the selected code.
- 2KAbhishek/co-author.nvim - Quickly add co-authors to commits.
- isak102/telescope-git-file-history.nvim - Open/preview contents of the current file at a specific commit, without using git checkout.
- moyiz/git-dev.nvim - Open remote git repositories in the comfort of Neovim.
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.
- ldelossa/gh.nvim - A fully featured GitHub integration for performing code reviews.
- topaxi/gh-actions.nvim - View and dispatch GitHub Actions workflow runs.
- rawnly/gist.nvim - Create a GitHub Gist from the current file (powered by gh).
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.
- rasulomaroff/telepath.nvim - Another Leap extension for performing remote actions with a different approach.
- 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.
- backdround/neowords.nvim - Hops by any type of words. It gives fine control over
w
,e
,b
,ge
movements. - backdround/improved-ft.nvim - Improve default
f
/t
abilities. - Mr-LLLLL/treesitter-outer - Jump to outer node with smart.
Treesitter Based
- mfussenegger/nvim-treehopper - Region selection with hints on the AST nodes of a document powered by Treesitter.
- ziontee113/syntax-tree-surfer - Navigate and swap Treesitter's AST Nodes. Step into, step out, step over, step back.
- drybalka/tree-climber.nvim - Easy navigation around the Treesitter's tree that works in multi-language files and in normal mode.
- atusy/treemonkey.nvim - Region selection with Treesitter nodes.
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/commander.nvim - Create and manage keybindings and commands in a more organized manner and search them quickly through Telescope.
- nvimtools/hydra.nvim - Create custom submodes and menus. Port of Emacs Hydra. Maintained fork of anuvyklack/hydra.nvim.
- 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.
- tris203/hawtkeys.nvim - Suggest new easy-to-hit keymaps and find issues with your current keymap configurations.
Mouse
- notomo/gesture.nvim - Mouse gesture plugin.
Scrolling
- karb94/neoscroll.nvim - Smooth scrolling.
- declancm/cinnamon.nvim - Smooth scrolling for any movement command.
- nkakouros-original/scrollofffraction.nvim - Scrolloff as a fraction of the window height.
Scrollbar
- Xuyuanp/scrollbar.nvim - Scrollbar.
- dstein64/nvim-scrollview - Display interactive scrollbars.
- petertriho/nvim-scrollbar - Extensible scrollbar that shows diagnostics and search results.
- echasnovski/mini.nvim#mini.map - Module of
mini.nvim
to show floating window with buffer text overview, scrollbar, and highlights. - gorbit99/codewindow.nvim - Minimap plugin, that is closely integrated with treesitter and the builtin LSP to display more information to the user.
- lewis6991/satellite.nvim - Decorate scrollbar.
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-trevJ.lua - Does the opposite of join-line (J) for arguments, powered by Tree-sitter.
- 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.
- gregorias/coerce.nvim - Change keyword case.
- johmsalas/text-case.nvim - Text case changes via keybindings and custom substitute command with Telescope and LSP support.
- 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 bothv: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 creatinga
/i
textobjects. It enhances some builtin textobjects, creates extensive set of new ones (likea*
,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 more than 30 new 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.
- hiberabyss/bzlops.vim - Help to manage your bazel build rule.
- altermo/iedit.nvim - Edit one occurrence of text and simultaneously have other selected occurrences edited in the same way.
- ptdewey/yankbank-nvim - Enable streamlined access to recent yanks and deletions in a quick-access popup menu.
Comment
- numToStr/Comment.nvim - Smart and Powerful comment plugin. Supports commentstring, motions, dot-repeat and more.
- b3nj5m1n/kommentary - Commenting plugin written in Lua.
- 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 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.
- echasnovski/mini.nvim#mini.comment - Module of
mini.nvim
for per-line commenting. Fully supports dot-repeat. - LudoPinelli/comment-box.nvim - Clarify and beautify your comments using boxes and lines.
- JoosepAlviste/nvim-ts-context-commentstring - Sets the
commentstring
option based on the cursor location in the file. The location is checked via treesitter queries. - LucasTavaresA/SingleComment.nvim - Always single line, comment sensitive, indentation preserving commenting.
- Zeioth/dooku.nvim - Generate and open your HTML code documentation.
Formatting
- 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
- nvimdev/indentmini.nvim - A minimal and blazing fast indentline plugin by using nvim_set_decoration_provide api.
- lukas-reineke/indent-blankline.nvim - IndentLine replacement in Lua with more features and treesitter support.
- LucasTavaresA/simpleIndentGuides.nvim - Indentation guides using the builtin variables.
- echasnovski/mini.nvim#mini.indentscope - Module of
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. - NMAC427/guess-indent.nvim - Automatic indentation style detection.
- Darazaki/indent-o-matic - Dumb automatic fast indentation detection written in Lua.
- yaocccc/nvim-hlchunk - Highlight a
{}
chunk. - shellRaining/hlchunk.nvim - A Lua implementation of
nvim-hlchunk
, contains more features, such as highlight{}
chunk, indent line, space blank etc. - VidocqH/auto-indent.nvim - Auto indent cursor when cursor at the first column and press
<TAB>
key like VSCode. - Mr-LLLLL/cool-chunk.nvim - Simpler and faster chunking with animations.
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.
- echasnovski/mini.nvim#mini.sessions - Module of
mini.nvim
for session management (read, write, delete). - gennaro-tedesco/nvim-possession - The no-nonsense session manager.
- olimorris/persisted.nvim - Simple session management with git branching, autosave/autoload and Telescope support.
- Shatur/neovim-session-manager - A simple wrapper around :mksession.
- jedrzejboczar/possession.nvim - Flexible session management with arbitrary persistent data stored as JSON.
- niuiic/multiple-session.nvim - Provides multi-session management capabilities.
- RutaTang/spectacle.nvim - Easily manage multiple sessions with telescope integration.
- coffebar/neovim-project - Declarative project management, automatic saving of sessions, uses Telescope.
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.
- esensar/nvim-dev-container - Neovim devcontainer.json and general development container support.
- miversen33/netman.nvim - Lua powered Network Resource Manager.
- niuiic/remote.nvim - Edit remote files with local configuration.
Split and Window
- ~henriquehbr/ataraxis.lua - A zen mode for improving code readability on Neovim.
- 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 written in Lua! Vim splits on steroids.
- anuvyklack/windows.nvim - Automatically expand width of the current window. Maximizes and restore it. And all this with nice animations!
- nvim-zh/colorful-winsep.nvim - A configurable color split line.
- nyngwang/NeoNoName.lua - Layout preserving buffer deletion.
- famiu/bufdelete.nvim - Delete Neovim buffers without losing your window layout.
- echasnovski/mini.nvim#mini.bufremove - Module of
mini.nvim
for buffer removing (unshow, delete, wipeout) while saving window layout. - jyscao/ventana.nvim - Convenient flips & shifts for your windows layout.
- mrjones2014/smart-splits.nvim - Smart, seamless, directional navigation and resizing of splits.
- altermo/nxwm - X11 window manager.
Tmux
- aserowy/tmux.nvim - Tmux integration features pane movement and resizing.
- 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.
- declancm/windex.nvim - Collection of window functions which includes moving between, closing and maximizing Neovim splits and Tmux panes.
- otavioschwanck/tmux-awesome-manager.nvim - Run your workflow commands like yarn install, rails console, yarn add, bundle install, etc.
Game
- ThePrimeagen/vim-be-good - Vim-be-good is a Neovim plugin designed to make you better at Vim Movements.
- alec-gibson/nvim-tetris - Bringing emacs' greatest feature to Neovim - Tetris!.
- seandewar/nvimesweeper - Play Minesweeper in your favourite text editor.
- seandewar/killersheep.nvim - Neovim port of killersheep.
- rktjmp/shenzhen-solitaire.nvim - Shenzhen I/O Solitaire port.
- Eandrju/cellular-automaton.nvim - It lets you execute aesthetically pleasing, cellular automaton animations based on the content of Neovim buffer.
- alanfortlink/blackjack.nvim - Classic Black Jack game.
- jim-fx/sudoku.nvim - Classic sudoku puzzle.
Competitive Programming
- p00f/cphelper.nvim - Neovim helper for competitive programming written in Lua.
- xeluxee/competitest.nvim - A plugin to automate testcases management and checking for Competitive Programming contests.
- kawre/leetcode.nvim - Solve Leetcode problems.
Workflow
- m4xshen/hardtime.nvim - Helping you establish good command workflow and habit.
- antonk52/bad-practices.nvim - Helping you give up bad practices in Vim.
Preconfigured Configuration
- Cris-lml007/NeoPlus - NeoPlus is a free, open source IDE with tools that works on Neovim.
- pgosar/CyberNvim - The world's simplest and most extensible Neovim distribution.
- 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.
- crispybaccoon/chaivim - Easily configurable distro with solid defaults and a cozy editor experience.
- 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.
- drybalka/clean.nvim - Cleaning up the default key mappings and plugins and leaving only the bare essentials to build upon.
- StratOS-Linux/StratVIM - A full-fledged Neovim distribution included by default in StratOS, an upcoming Arch-based Linux distro.
- Shaobin-Jiang/IceNvim - A beautiful, powerful and customizable config that is blazingly fast.
External
These tools are used externally to Neovim to enhance the experience.
Version Manager
- MordechaiHadad/bob - A cross platform and easy to use Neovim 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 plugins.
- m00qek/plugin-template.nvim - A plugin template that setups test infrastructure and GitHub Actions.
- ellisonleao/nvim-plugin-template - Another neovim plugin template, using GitHub's template feature.
OS-specific
- chrisgrieser/alfred-neovim-utilities - Search Neovim plugins and online
:help
via Alfred (macOS). - massix/termux.nvim - Interact with Termux APIs, useful to gather various information about your Android phone to display in the statusline (e.g. battery level).
- m15a/flake-awesome-neovim-plugins - Nix flake that provides Awesome Neovim plugins collection as Nix packages.
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
- tokiory/neovim-boilerplate - Starter boilerplate for making new configurations.
- frans-johansson/lazy-nvim-starter - Starter boilerplate with lazy plugin manager.
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.
- vim-plugin-list - List of Vim and Neovim plugins.
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.
- NeoLand - A beautifully crafted website for Neovim resources.