
Extensible text editor forked from Vim with async job control, embedded terminal, and language API access
Neovim is a refactored fork of the Vim text editor that maintains compatibility with most Vim plugins while adding modern capabilities. It features asynchronous job control, an embedded scriptable terminal emulator, and API access from multiple programming languages including Python, JavaScript, Go, Rust, and others. The editor supports XDG base directories and shared data (shada) between multiple editor instances.
The project provides both terminal and GUI interfaces, with the core editor exposing APIs that enable advanced user interfaces without modifying the core codebase. Neovim includes built-in Lua scripting support and maintains compatibility with existing Vimscript configurations and Ruby/Python plugins. It supports CMake-based builds and offers pre-built packages for Windows, macOS, and Linux through various package managers including Homebrew, Debian, Ubuntu, Fedora, and Arch Linux.
Developers transitioning from Vim can use existing configurations with minimal changes, while new users benefit from the enhanced extensibility and asynchronous capabilities. The editor targets users who need a highly configurable text editor with scripting capabilities, plugin support, and integration with external development tools.
# via Homebrew
brew install neovim
# via Source
make CMAKE_BUILD_TYPE=RelWithDebInfo && sudo make install