/awesome-neovim

Collections of awesome neovim plugins.

Creative Commons Zero v1.0 UniversalCC0-1.0

Awesome Neovim Awesome

Collections of awesome Neovim plugins. Mostly targeting Neovim specific features.

Neovim is a Vim-based text editor engineered for extensibility and usability, to encourage new applications and contributions.

Contents

Wishlist

Have a problem a plugin can solve? Add it to the nvim-lua wishlist.

UI

Neovim supports a wide variety of UI's.

  • 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!
  • yatli/fvim - Cross platform Neovim front-end UI, built with F# + Avalonia.
  • smolck/uivonim - Goal: Feature-rich cross-platform GUI that leverages the latest Neovim features.
  • qvacua/vimr - Neovim GUI for macOS in Swift.
  • vhakulinen/gnvim - GUI for Neovim, without any web bloat.
  • Kethku/neovide - No Nonsense Neovim Client in Rust.
  • beeender/glrnvim - A terminal wrapper that launches Neovim inside of alacritty.
  • akiyosi/goneovim - Neovim GUI written in Golang, using a Golang qt backend.
  • DinVim - DinVim for macOS is a safe and secure working macOS sandbox environment that provide true macOS experience for Vim users.
  • RMichelsen/Nvy - A Neovim client in C++.
  • asvetliakov/vscode-neovim - Neovim integration for Visual Studio Code.
  • equalsraf/neovim-qt - Neovim client library and GUI, in Qt5.
  • lunixbochs/actualvim - Sublime Text 3 input mode using Neovim.
  • vv-vim/vv - Neovim client for macOS. A pure, fast, minimalistic Vim experience with good macOS integration. Optimized for speed and nice font rendering.
  • rohit-px2/nvui - A modern frontend for Neovim.
  • Lyude/neovim-gtk - A GTK3+ client written in Rust, resembling a lot the original vim-gtk3 with ligatures support.

Plugin

Plugin Manager

  • wbthomason/packer.nvim - A use-package inspired plugin manager for Neovim. Uses native packages, supports Luarocks dependencies, written in Lua, allows for expressive config.
  • savq/paq-nvim - Neovim package manager written in Lua.
  • NTBBloodbath/cheovim - Neovim configuration switcher written in Lua. Inspired by chemacs.

LSP

(requires Neovim 0.5)

LSP Installer
Diagnostics

Completion

Markdown / LaTeX

Syntax

Terminal integration

Snippet

Register

Marks

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 in Neovim (>= 0.5). Allows for full asynchronicity for UI speed and usability.
  • camspiers/snap - An extensible fuzzy finder. Similar to Telescope, and optimized for performance, especially when grepping in large codebases.
  • ibhagwan/fzf-lua - The Lua version of fzf.vim, high-performance and fully async, supports nvim-web-devicons, git indicators, LSP, quickfix/location lists and more. Also supports skim as its fzf binary.
  • jvgrootveld/telescope-zoxide - Telescope integration for zoxide, a smart directory picker that tracks your usage.

Note Taking

Color

Colorscheme Creation

  • 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).

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.

Lua Colorscheme

These colorschemes may not specialize in Tree-sitter directly but are written in Lua.

Utility

Icon

Debugging

Spellcheck

Neovim Lua Development

  • 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.

Fennel

Tabline

Statusline

  • 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.

Winbar and Statusline component

  • SmiteshP/nvim-gps - A simple statusline component that shows your current code context using Treesitter.
  • SmiteshP/nvim-navic - A simple statusline/winbar component that shows your current code context using LSP.

Cursorline

Startup

Indent

  • 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 for Neovim.
  • Darazaki/indent-o-matic - Dumb automatic fast indentation detection for Neovim written in Lua.
  • Abstract-IDE/penvim - Project's root directory and documents Indentation detector with project based config loader.

Game

File explorer

Dependency management

Git

Programming languages support

Comment

Collaborative Editing

  • jbyuki/instant.nvim - A collaborative editing plugin for Neovim written in Lua with no dependencies.

Quickfix

Motion

  • tjdevries/train.nvim - Train yourself with vim motions and make your own train tracks.
  • phaazon/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.
  • 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.
  • 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.

Treesitter based

Code Runner

GitHub

Search

Scrollbar

Scrolling

Mouse

Project

Browser integration

Editing support

Formatting

Web development

Media

Discord Rich Presence

Command Line

Session

Test

Competitive Programming

Preconfigured Configuration

  • 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.
  • 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.
  • CanKolay3499/CNvim - A lightweight Neovim config for web development.
  • 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.

Keybinding

Tmux

Remote Development

Split and Window

External

These tools are used externally to Neovim to enhance the experience.

Version Manager

Boilerplate

Vim

Resource

  • Neovimcraft - A site dedicated to searching for Neovim specific plugins and guides for building plugins in Lua.