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

⬆ back to top

LSP

(requires Neovim 0.5)

LSP Installer

Diagnostics

⬆ back to top

Completion

⬆ back to top

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

⬆ back to top

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.

⬆ back to top

Language

⬆ back to top

Syntax

⬆ back to top

Snippet

⬆ back to top

Register

⬆ back to top

Marks

⬆ back to top

Search

⬆ back to top

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.

⬆ back to top

File Explorer

⬆ back to top

Project

⬆ back to top

Color

⬆ back to top

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

⬆ back to top

Bars and Lines

Statusline

Tabline

Cursorline

⬆ back to top

Startup

⬆ back to top

Icon

⬆ back to top

Media

⬆ back to top

Note Taking

⬆ back to top

Utility

CSV Files

⬆ back to top

Terminal Integration

⬆ back to top

Debugging

Quickfix

⬆ back to top

Deployment

⬆ back to top

Test

⬆ back to top

Code Runner

⬆ back to top

Neovim Lua Development

⬆ back to top

Fennel

⬆ back to top

Dependency Management

⬆ back to top

Git

GitHub

⬆ back to top

Motion

Tree-sitter Based

⬆ back to top

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.

⬆ back to top

Mouse

⬆ back to top

Scrolling

Scrollbar

⬆ back to top

Editing Support

Comment

⬆ back to top

Formatting

Indent

⬆ back to top

Command Line

⬆ back to top

Session

⬆ back to top

Remote Development

⬆ back to top

Split and Window

Tmux

⬆ back to top

Game

Competitive Programming

⬆ back to top

Workflow

⬆ back to top

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.

⬆ back to top

External

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

Version Manager

Boilerplate

OS-specific

⬆ back to top

Wishlist

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

⬆ back to top

UI

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

⬆ back to top

Starter Templates

⬆ back to top

Vim

⬆ back to top

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.

⬆ back to top