Neovim is a project that seeks to aggressively refactor Vim in order to:
- Simplify maintenance and encourage contributions
- Split the work between multiple developers
- Enable advanced UIs without modifications to the core
- Maximize extensibility
- Modern GUIs
- Embedded, scriptable terminal emulator
- Asynchronous job control
- Shared data (shada) among multiple editor instances
- XDG base directories support
- Compatible with most Vim plugins, including Ruby and Python plugins
:help nvim-features for the full list!
Install from package
Pre-built packages for Windows, macOS, and Linux are found on the Releases page.
Install from source
The build is CMake-based, but a Makefile is provided as a convenience.
make CMAKE_BUILD_TYPE=RelWithDebInfo sudo make install
To install to a non-default location:
make CMAKE_INSTALL_PREFIX=/full/path/ make install
To skip bundled (
- Install the dependencies using a package manager.
sudo apt install gperf luajit luarocks libuv1-dev libluajit-5.1-dev libunibilium-dev libmsgpack-dev libtermkey-dev libvterm-dev libutf8proc-dev sudo luarocks build mpack sudo luarocks build lpeg sudo luarocks build inspect
- Build with
make CMAKE_BUILD_TYPE=RelWithDebInfo USE_BUNDLED=OFF sudo make install
To inspect the build, these CMake features are useful:
cmake --build build --target helplists all build targets.
cmake -LAH build/) contains the resolved values of all CMake variables.
build/compile_commands.jsonshows the full compiler invocations for each translation unit.
See the Building Neovim wiki page for details.
Transitioning from Vim
:help nvim-from-vim for instructions.
├─ ci/ build automation ├─ cmake/ build scripts ├─ runtime/ user plugins/docs ├─ src/nvim/ application source code (see src/nvim/README.md) │ ├─ api/ API subsystem │ ├─ eval/ VimL subsystem │ ├─ event/ event-loop subsystem │ ├─ generators/ code generation (pre-compilation) │ ├─ lib/ generic data structures │ ├─ lua/ Lua subsystem │ ├─ msgpack_rpc/ RPC subsystem │ ├─ os/ low-level platform code │ └─ tui/ built-in UI ├─ third-party/ CMake subproject to build dependencies └─ test/ tests (see test/README.md)
Neovim contributions since b17d96 are licensed under the Apache 2.0 license, except for contributions copied from Vim (identified by the
vim-patch token). See LICENSE for details.
Vim is Charityware. You can use and copy it as much as you like, but you are encouraged to make a donation for needy children in Uganda. Please see the kcc section of the vim docs or visit the ICCF web site, available at these URLs: http://iccf-holland.org/ http://www.vim.org/iccf/ http://www.iccf.nl/ You can also sponsor the development of Vim. Vim sponsors can vote for features. The money goes to Uganda anyway.