awesome-neovim/README.md
2021-12-04 10:21:07 +00:00

59 KiB

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.

  • 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.
  • jebberjeb/javafx-neovimpane - A JavaFX text pane, backed by Neovim, created with Clojure.
  • rohit-px2/nvui - A modern frontend for Neovim.
  • Lyude/neovim-gtk - A GTK3+ client written in Rust, ressembling 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

Completion

Markdown

Syntax

Terminal integration

Snippet

Register

Marks

  • chentau/marks.nvim - A better user experience for viewing and interacting with vim 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.
  • amirrezaask/fuzzy.nvim - Fuzzy.nvim provides a simple mechanism and pipeline to create fuzzy matching in Neovim.
  • 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

Colorscheme

Tree-sitter Supported Colorscheme

Tree-sitter is a new system coming 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

Fennel

Tabline

Statusline

Statusline component

  • SmiteshP/nvim-gps - Simple statusline component that shows what scope you are working inside.

Cursorline

Startup

Indent

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.

Code Runner

GitHub

Scrollbar

Scrolling

Mouse

Project

Browser integration

Editing support

Formatting

Web development

Media

Discord Rich Presence

Command Line

Session

Test

Preconfigured Configuration

  • 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).
  • ChristianChiarulli/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.
  • ashincoder/StarVim - A IDE wrapper which is beyond the moon 🌝 and above the stars .
  • mjlbach/defaults.nvim - An extremely small, single file, and commented configuration template demonstrating LSP integration, autocompletion, snippets, treesitter, and more.
  • 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.

Keybinding

  • AckslD/nvim-whichkey-setup.lua - Plugin that wraps vim-which-key to simplify setup in Lua.
  • folke/which-key.nvim - Neovim plugin that shows a popup with possible keybindings of the command you started typing.
  • 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.

Tmux

Remote Development

Split and Window

External

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

Version Manager

Boilerplate

Vim

  • Vimawesome - Showcases various plugins for vim and has a neovim tag for other plugins targeting Neovim.
  • awesome-vim - Short list of vim plugins and helpful guides.

Resource

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