neovim /neovim

Vim-fork focused on extensibility and usability

★ 103,536⑂ 7,391👁 1,040⑃ 26,387● 14,823▤ 56◈ 1,336
Vim ScriptNOASSERTIONCreated 2014-01-31neovim.io
103,536
stars
+18+226+559
7,391
forks
1,040
watchers
26,387
prs
14,823
issues
56
releases
1,336
discussions

README

Documentation |
  Chat







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

See the Introduction wiki page and [Roadmap]
for more information.

Features
--------

- Modern GUIs
- API access
  from any language including C/C++, C, Clojure, D, Elixir, Go, Haskell, Java/Kotlin,
  JavaScript/Node.js, Julia, Lisp, Lua, Perl, Python, Racket, Ruby, Rust
- 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

See [:help nvim-features][nvim-features] for the full list, and [:help news][nvim-news] for noteworthy changes in the latest version!

Install from package
--------------------

Pre-built packages for Windows, macOS, and Linux are found on the
Releases page.

[Managed packages] are in [Homebrew], [Debian], [Ubuntu], [Fedora], [Arch Linux], [Void Linux], [Gentoo], and more!

Install from source
-------------------

See BUILD.md and supported platforms for details.

The build is CMake-based, but a Makefile is provided as a convenience.
After installing the dependencies, run the following command.
bash
make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install


To install to a non-default location:
bash
make CMAKE_BUILD_TYPE=RelWithDebInfo CMAKE_INSTALL_PREFIX=/full/path/
make install


CMake hints for inspecting the build:

- cmake --build build --target help lists all build targets.
- build/CMakeCache.txt (or cmake -LAH build/) contains the resolved values of all CMake variables.
- build/compile_commands.json shows the full compiler invocations for each translation unit.

Transitioning from Vim
--------------------

See :help nvim-from-vim for instructions.

Project layout
--------------

    ├─ cmake/           CMake utils
    ├─ cmake.config/    CMake defines
    ├─ cmake.deps/      subproject to fetch and build dependencies (optional)
    ├─ runtime/         plugins and docs
    ├─ src/nvim/        application source code (see src/nvim/README.md)
    │  ├─ api/          API subsystem
    │  ├─ eval/         Vimscript 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
    └─ test/            tests (see test/README.md)

License
-------

Neovim contributions since [b17d96][license-commit] are licensed under the
Apache 2.0 license, except for contributions copied from Vim (identified by the
vim-patch token). See LICENSE.txt for details.

[license-commit]: https://github.com/neovim/neovim/commit/b17d9691a24099c9210289f16a

Top issues

Discussions

Latest release

Nvim 0.12.6 v0.12.6 2026-10-09
NVIM v0.12.6
Build type: Release
LuaJIT 2.1.1774638290


 Release notes

- Changelog (fixes + features)
- News (:help news in Nvim)

 Install

 Windows

 Zip

1. Download nvim-win64.zip (or nvim-win-arm64.zip for ARM)
2. Extract the zip
3. Run nvim.exe in your terminal

 MSI

1. Download nvim-win64.msi (or nvim-win-arm64.msi for ARM)
2. Run the MSI
3. Run nvim.exe in your terminal

Note: On Windows "Server" you may need to install vcruntime.dll.

 macOS (x86_64)

1. Download nvim-macos-x86_64.tar.gz
2. Run xattr -c ./nvim-macos-x86_64.tar.gz (to avoid "unknown de

Snapshot: 2026-11-10T09:35:25Z · Data license Apache-2.0 · JSON