Skip to content

Neovim

Awesome Neovim Awesome

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.

Plugin Manager

LSP

(requires Neovim 0.5)

LSP Installer

Diagnostics

Completion

AI

  • Aaronik/GPTModels.nvim - GPTModels - a stable, clean, multi model, window based LLM AI tool.
  • Robitx/gp.nvim - ChatGPT like sessions and instructable text/code operations in your favorite editor.
  • 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, complete with inline assistant. Supports Anthropic, Gemini, 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.
  • CopilotC-Nvim/CopilotChat.nvim - A chat interface for GitHub Copilot that allows you to directly ask and receive answers to coding-related questions.
  • tzachar/cmp-ai - This is a general purpose AI source for nvim-cmp, easily adapted to any REST API supporting remote code completion.
  • milanglacier/minuet-ai.nvim - Minuet offers code completion from popular LLMs including OpenAI (compatible), Gemini, Claude, and more providers. Dance with intelligence in your code.
  • yetone/avante.nvim - Chat with your code as if you are in Cursor AI IDE.
  • Kurama622/llm.nvim - Free large language model (LLM) support, provides commands to interact with LLM.
  • 3v0k4/exit.nvim - Prompt LLMs (large language models) to write Vim commands.
  • k2589/LLuMinate.nvim - Enrich context for LLM with LSP hover added to clipboard.

Programming Languages Support

Golang

YAML

Web Development

Markdown and LaTeX

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

Syntax

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 (Neovim >= 0.5). Allows for full asynchronicity for UI speed and usability.
  • camspiers/snap - An extensible fuzzy finder. Similar to Telescope, and optimized for performance, especially when grepping in large codebases.
  • ibhagwan/fzf-lua - The Lua version of fzf.vim, high-performance and fully async, supports nvim-web-devicons, Git indicators, LSP, quickfix/location lists and more. Also supports skim as its fzf binary.
  • jvgrootveld/telescope-zoxide - Telescope integration for zoxide, a smart directory picker that tracks your usage.
  • echasnovski/mini.nvim#mini.fuzzy - Module of mini.nvim with functions to perform fuzzy matching of one string to others along with fast Telescope sorter.
  • axkirillov/easypick.nvim - Easypick lets you easily create Telescope pickers from arbitrary console commands.
  • linrongbin16/fzfx.nvim - 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 in live_grep.
  • crispgm/telescope-heading.nvim - Telescope extension to switch between headings of AsciiDoc, Markdown, Vimdoc, etc.

File Explorer

Project

Color

Colorscheme

Tree-sitter Supported Colorscheme

Tree-sitter is a new system introduced in Neovim 0.5 that incrementally parses your code into a tree that works, even with errors in your syntax. These colorschemes have specifically set colors for Tree-sitter highlight groups. Vim colorschemes will work with the new groups out of the box.

Lua Colorscheme

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

Colorscheme Creation

  • tjdevries/colorbuddy.nvim - A colorscheme helper. Written in Lua! Quick & Easy Color Schemes.
  • norcalli/nvim-base16.lua - Programmatic Lua library for setting base16 themes.
  • rktjmp/lush.nvim - Define Neovim themes as a DSL in Lua, with real-time feedback.
  • roobert/palette.nvim - A beautiful, versatile, systematic, theme system.
  • Iron-E/nvim-highlite - A colorscheme generator that is "lite" on logic for the developer.
  • echasnovski/mini.nvim#mini.base16 - Module of mini.nvim with fast implementation of base16 theme for manually supplied palette.
  • ThemerCorp/themer.lua - A simple highlighter plugin for Neovim. It has a huge collection of colorschemes. It also has ability to create colorschemes for Vim/Neovim and other supported apps (such as kitty and alacritty).
  • echasnovski/mini.nvim#mini.colors - Module of mini.nvim to tweak and save any color scheme. Also can animate transition and convert between some color spaces.
  • echasnovski/mini.nvim#mini.hues - Module of mini.nvim to generate configurable color scheme. Takes only background and foreground colors as required arguments. Can adjust number of hues for non-base colors, saturation, accent color, plugin integration.
  • 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

Bars and Lines

Statusline

Tabline

Cursorline

Startup

Icon

Media

Note Taking

Utility

CSV Files

Terminal Integration

Debugging

Quickfix

Deployment

Test

Code Runner

Neovim Lua Development

Fennel

Dependency Management

Git

GitHub

Motion

Tree-sitter Based

Keybinding

  • folke/which-key.nvim - Neovim plugin that shows a popup with possible keybindings of the command you started typing.
  • echasnovski/mini.nvim#mini.clue - Module of mini.nvim to show next key clues. Has opt-in triggers, shows next key information after customizable delay, allows hydra-like submodes, and more.
  • mrjones2014/legendary.nvim - Define your keymaps, commands, and autocommands as simple Lua tables, and create a legend for them at the same time (like VS Code's Command Palette), integrates with which-key.nvim.
  • Iron-E/nvim-cartographer - a more convenient :mapping syntax for Lua environments.
  • LionC/nest.nvim - Lua utility to map keys concisely using cascading trees. Also allows binding Lua functions to keys.
  • slugbyte/unruly-worker.nvim - A ridiculously fun alternative keymap for the workman keyboard layout, with lots of powerful features for working with yank, marks, macros, LSP, and more. 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.
  • mawkler/demicolon.nvim - Use ; and , keys to also repeat jumps to diagnostics (e.g. ]d) and to nvim-treesitter-textobjects (e.g. ]f), in addition to repeating t/T/f/F.
  • debugloop/layers.nvim - Craft temporary keymap overlays and layered modes with ease.

Mouse

Scrolling

Scrollbar

Editing Support

Comment

Formatting

Indent

Command Line

Session

Remote Development

Split and Window

Tmux

Game

Competitive Programming

Workflow

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.
  • legobeat/l7-devenv - Security-focused IDE with a hackable (in the right way) framework based on Neovim and shell.
  • crispybaccoon/chaivim - Easily configurable distro with solid defaults and a cozy editor experience.
  • 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.
  • 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.
  • 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.
  • dam9000/kickstart-modular.nvim - This is a fork of nvim-lua/kickstart.nvim that moves from a single file to a multi file 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.
  • ayamir/nvimdots - A well-configured and structured configuration with NixOS support.
  • adoyle-h/one.nvim - All-in-one config framework in Lua.

External

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

Version Manager

Boilerplate

OS-specific

Wishlist

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

UI

Neovim supports a wide variety of UI's. You can find them listed on the Neovim wiki

Starter Templates

Vim

Resource

  • Neovimcraft - A site dedicated to searching specific plugins and guides for building plugins in Lua.
  • Dotfyle - Dotfyle is a site for sharing and discovering Neovim configs and plugins.
  • NeoLand - A beautifully crafted website for Neovim resources.
  • Nvim-training - A beginner-friendly tool for training your 'muscle memory' using small, repeatable tasks.