
A refactored version of Vim with asynchronous job control, embedded terminal, and multi-language API support.
Neovim is a text editor that refactors and extends Vim's codebase while maintaining compatibility with most Vim plugins. It provides asynchronous job control, allowing background processes to run without blocking the editor interface. The editor includes an embedded scriptable terminal emulator and supports shared data (shada) across multiple editor instances.
Neovim exposes a comprehensive API accessible from numerous programming languages including C/C++, Python, JavaScript/Node.js, Go, Rust, and others. This enables advanced GUI frontends and programmatic control without modifying the core editor. The editor supports XDG base directories for configuration management and maintains compatibility with Ruby and Python plugins from the Vim ecosystem.
The project targets developers who need a highly extensible editor with scriptability and plugin support. Neovim's architecture separates the UI from the core editing functionality, enabling custom interfaces while preserving Vim's modal editing paradigm and command structure.
# via Homebrew
brew install neovim
# via Build from source
make CMAKE_BUILD_TYPE=RelWithDebInfo && sudo make install