Related projects

Ville Hakulinen edited this page Feb 22, 2019 · 236 revisions

If you're working on a Neovim-related project, include it (alphabetically) below!

Note: Some of these projects are experimental/unstable.


Platform Project
Atom Integration carlosdcastillo/vim-mode
C++/Python meatich/NeoSFML
C++/SDL2 etorth/libnvc
curses/Python mvilim/neovim-pytc-example
EFL Eovim
Electron UI coolwanglu/neovim-e
Electron UI rhysd/NyaoVim
Electron UI onivim/oni
Electron UI veonim
Electron UI VV
VSCode VSCodeVim
gnome-terminal fmoralesc/neovim-gnome-terminal-wrapper
Go/Qt akiyosi/gonvim
Go/Qt dzhou121/gonvim
GTK/Python UI neovim/python-gui
GTK/Python UI rliang/nvim-pygtk3
GTK/Rust UI daa84/neovim-gtk
GTK/Rust UI GNvim
JavaFX jebberjeb/javafx-neovimpane
Konsole harish2704/neovim-konsole
macOS qvacua/vimr
macOS rogual/neovim-dot-app
mac OS UI DinVim Vim for Mac
Qt 5 equalsraf/neovim-qt
Qt Creator sassanh/qnvim
Rust IDE oakes/SolidOak
Sublime Text lunixbochs/actualvim
Tk/Python UI timeyyy/pytknvim
Windows/Linux meatich/Viy

API clients

Platform Project
C# neovim/
C++ DaikiMaekawa/neovim.cpp
C++/Qt5 equalsraf/neovim-qt
C++/ncurses SoC/neovim-client
C++/Magnum Squareys/magnum-neovim-api
Clojure jebberjeb/neovim-client
Common Lisp adolenc/cl-neovim
D viniarck/nvimhost-d
Elixir awetzel/neovim-elixir
Elixir dm1try/nvim
Filesystem fmoralesc/nvimfs
Go neovim/go-client
Haskell neovimhaskell/nvim-hs
Java fdinoff/neovim-java-client
Java esensar/neovim-java
Julia bfredl/Neovim.jl
Lua neovim/lua-client
Node.js neovim/node-client
Node.js promised-neovim-client (fork of the official client)
Perl yanick/Neovim-RPC
Python neovim/python-client
R jalvesaq/Nvim-R
Racket HiPhish/neovim.rkt
Ruby neovim/neovim-ruby
Rust oakes/neovim-rs
Rust daa84/neovim-lib
Swift/Cocoa SwiftNeoVim (part of qvacua/vimr)


The following plugins take advantage of specific Neovim features, e.g. jobstart(), :terminal or its remote plugin mechanism.

  • acid.nvim: Asynchronous nREPL client for Clojure development
  • alchemist.vim: Elixir integration
  • bolt.nvim: Filter as you type file manager with fuzzy matching and ripgrep integration
  • buildit.nvim: An async project builder, tries to detect the right builder for your project
  • chromatica.nvim: Clang-based syntax highlighting
  • coc.nvim: Completion and other language server support for Neovim, featured as VSCode
  • dein.vim: Plugin manager
  • denite.nvim: Dark powered plugin for Neovim/Vim to unite all interfaces
  • deoplete.nvim: Dark powered asynchronous completion framework
  • Extract: Puts and yanks to a list with normal, visual swapping, and insert list/register completion
  • far.vim: Search and replace
  • Floobits: Floobits plugin
  • fzf-gitignore: A fzf (command-line fuzzy finder) interface for creating .gitignore files using the API
  • gen_tags.vim: Async plugin for Vim and Neovim to ease the use of Ctags/gTags
  • haskell-vim: Custom syntax highlighting and indentation Vimscripts for Haskell and Cabal
  • InsertLeftBracket.nvim: Auto-complete brackets for Objective-C files
  • iron.nvim: REPL management
  • LanguageClient-neovim: Language Server Protocol (LSP) support for Neovim
  • lldb.nvim: Debugger integration with a focus on ease-of-use
  • markdown-preview.nvim: Preview Markdown files on your browser with synchronous scrolling; flexible configuration using Neovim's RPC API
  • mirror.vim: Efficient way to edit remote files on multiple environments
  • mkdx: Vim plugin that adds some nice extras for working with Markdown documents
  • ncm2: Slim, fast, and hackable completion framework for Neovim (fork of nvim-completion-manager)
  • neogdb.vim: Vim GDB front-end for neovim written in python/vimscript
  • neomake-multiprocess: Vim plugin for running multiple process asynchronously based on Neomake
  • neomake: Asynchronous linting and make framework
  • neopipe: Send lines of text to an external command and display output in a scratch buffer
  • neotags.nvim: Plugin that generates and highlights Ctags
  • neoterm: Wrapper of some Neovim's :terminal functions
  • neotex: Latex live preview
  • neovim-hackernews: Display Hacker News (HN) stories inside Neovim
  • neovim-ranger: File manager with Vi key bindings
  • neovim-vifm: Integration between Vifm (Vi file manager) and Neovim
  • nlanguagetool.nvim: Integration with LanguageTool, a style and grammar checker for natural languages
  • nuake: Quake-style terminal panel for Neovim
  • nvim-completion-manager (deprecated): Fast, extensible, asynchronous completion framework
  • nvim-editcommand: Edit your current shell command inside a scratch buffer
  • nvim-gdb: Neovim thin wrapper for GDB, LLDB and PDB written in Moonscript/Lua
  • nvim-go: Go development plugin for Neovim written in pure Go
  • nvim-ipy: IPython/Jupyter integration
  • nvim-luadev: REPL for developing lua plugins
  • nvim-miniyank: Simple yankring (shared across instances)
  • nvim-moonmaker: Adds plugin support for MoonScript files in the same way the built-in support for Lua/Python files works (by automatically compiling MoonScript files to Lua)
  • nvim-palette: Fuzzy search of settings
  • Nvim-R: Plugin to work with R
  • nvim-terminus: Edit your current command in a scratch buffer
  • nvim-typescript: Asynchronous typescript tooling and completion
  • nvimpam: Provides async folding for Pam-Crash files
  • nvimux: Neovim as multiplexer with tmux keybindings
  • orchestra.nvim: Bind sound effects to different actions
  • proteome: Assists in working on multiple projects in a single Neovim instance
  • semshi: Semantic highlighting for Python
  • termedit.nvim Sets the Neovim host instance as $EDITOR
  • vim-accio: Asynchronously summons build/compiler/linter output to your screen by wrapping the :compiler and :make commands
  • vim-airline: See this commit
  • vim-chat: Chat client for QQ and Weixin
  • vim-composer: Support for Composer PHP projects
  • vim-esearch: Perform search in files easily
  • vim-ghost: Neovim client for GhostText browser extension on Firefox and Chrome
  • vim-gitgutter: Shows a git diff in the gutter (sign column) and stages/undos hunks
  • vim-go: See PR 607 for feature list
  • vim-grepper: Use your favorite grep tool (ag, ack, git grep, ripgrep, pt, sift, findstr, grep) to start an asynchronous search
  • vim-javacomplete2: An omni-completion plugin for Java
  • vim-man: View and grep man pages in Vim
  • vim-markdown-composer: Asynchronous Markdown preview
  • vim-netranger: Ranger-like system/cloud storage explorer
  • vim-pandoc: Integrate with the Pandoc document converter and work with documents written in its Markdown variant
  • vim-plug: Plugin manager
  • vim-rainbows: Runtime files for the Rainbow programming language
  • vim-signify: Uses the sign column to indicate added, modified and removed lines in a file that is managed by a version control system (VCS)
  • vim-test: Wrapper for running tests on different granularities
  • vim-tmux-clipboard: Seamless integration with tmux's clipboard
  • vimcmdline: Sends lines from either Vim or Neovim to a command line interpreter (REPL application)
  • vsh: Store and replay shell sessions; also output search/modification/undo/redo
  • worldslice: Minimalistic statusline and tabline configuration

Non-plugin software

This is software either targeted at Neovim or with support for it.

  • chromatin: Package manager for plugins built with Ribosome
  • neovim-remote: Tool that helps controlling Neovim processes
  • nero.nvim: A REPL for Neovim (as in managing Neovim through a REPL)
  • nfasd Autocomplete recent files in command line
  • nvimdev: Help to Neovim development
  • nvimpager: Use Neovim as $PAGER to view man pages, git logs, etc. with Neovim's syntax highlighting
  • page: Advanced $PAGER, acts like neovim-remote, features fast CSI sequences processing
  • ribosome: Framework for building and testing Python plugins
  • tmux-resurrect: Restore tmux environment after system restart
  • vmux: Vim/Neovim session handler within tmux
  • Vroom: Way to specify Vim commands (actual input keys that that the user hits) and then verify Vim's output


Color schemes make use of Neovim-specific features, e.g. highlight groups or terminal emulator colors.

You can’t perform that action at this time.
You signed in with another tab or window. Reload to refresh your session. You signed out in another tab or window. Reload to refresh your session.
Press h to open a hovercard with more details.