No description
Find a file
2024-04-26 14:18:48 +07:00
.github Update pull_request_template.md 2024-04-25 14:13:51 +07:00
CONTRIBUTING.md Sync of the Pull Request title restriction in CONTRIBUTING.md (#1017) 2023-12-28 11:11:31 +01:00
LICENSE Change license from MIT to CC0 2021-09-15 07:24:11 +00:00
README.md Update NFrid/markdown-togglecheck (#1150) 2024-04-26 14:18:48 +07:00

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

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

LSP Installer

Diagnostics

Completion

AI

  • Robitx/gp.nvim - ChatGPT like sessions and instructable text/code operations in your favorite editor.
  • dpayne/CodeGPT.nvim - Provides commands to interact with ChatGPT, the focus is around code related usages.
  • jackMort/ChatGPT.nvim - Effortless Natural Language Generation with OpenAI's ChatGPT API.
  • CamdenClark/flyboy - Simple interaction with ChatGPT in a markdown buffer. Supports GPT-4 and Azure OpenAI.
  • gsuuon/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

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

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

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.

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

Terminal Integration

Debugging

Quickfix

Deployment

Test

Code Runner

Neovim Lua Development

Fennel

Dependency Management

Git

GitHub

Motion

Treesitter Based

Keybinding

  • folke/which-key.nvim - Neovim plugin that shows a popup with possible keybindings of the command you started typing.
  • echasnovski/mini.nvim#mini.clue - Module of mini.nvim to show next key clues. Has opt-in triggers, shows next key information after customizable delay, allows hydra-like submodes, and more.
  • mrjones2014/legendary.nvim - Define your keymaps, commands, and autocommands as simple Lua tables, and create a legend for them at the same time (like VS Code's Command Palette), integrates with which-key.nvim.
  • Iron-E/nvim-cartographer - a more convenient :mapping 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

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

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.