Skip to content

Latest commit

 

History

History
1071 lines (917 loc) · 113 KB

README.md

File metadata and controls

1071 lines (917 loc) · 113 KB

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. You can find them listed on the Neovim wiki

Starter Templates

Plugin

Plugin Manager

  • wbthomason/packer.nvim - A use-package inspired plugin manager. 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.
  • 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 💤.

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/llm.nvim - Integrate LLM's via a prompt builder interface. Multi-providers including OpenAI (+ compatibles), PaLM, HuggingFace and local engines like llamacpp.

Programming Languages Support

Golang

YAML

Web Development

Markdown and LaTeX

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

Search

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 - E(x)tended commands missing in fzf.vim, a brand new fzf plugin build from scratch, focused on usability, customization and performance.

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

Colorscheme Switchers

Bars and Lines

Statusline

Tabline

Cursorline

Startup

Icon

Media

Note Taking

Utility

Terminal Integration

Debugging

Quickfix

Test

Code Runner

Neovim Lua Development

Fennel

Dependency Management

Git

GitHub

Motion

  • 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.
  • 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.
  • 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.
  • linty-org/readline.nvim - Readline keyboard shortcuts.
  • 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.

Treesitter Based

Keybinding

Mouse

Scrolling

Scrollbar

Editing Support

Comment

Formatting

Indent

Command Line

Session

Remote Development

Split and Window

Tmux

Game

Competitive Programming

Workflow

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.
  • LazyVim/LazyVim - Full-fledged IDE powered by lazy.nvim to make it easy to customize and extend your config.
  • 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.
  • OxygeNvim/OxygeNvim - A configuration for all kinds of development with rock solid defaults.
  • 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.

External

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

Version Manager

Boilerplate

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.