Discover / Development

Neovim

by neovimVim Script

Hyperextensible Vim-based text editor.

Toolexperimental

Maturity: experimental because latest release v0.12.4 is pre 1.0. Derived from release and commit history, not a rating.

Stars
102k
Forks
7.0k
Downloads / mo
Last commit
2026-08-02
License
NOASSERTION
Open issues
1.9k

Market and trust evidence

Edition not yet matched

No exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.

Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.

In practice

Written by AI from this repository’s README · high confidence

Vim being hard to extend and maintain, with no clean API for external UIs or plugins in other languages.

Use it when

Use it when you want Vim compatible editing plus a scriptable API, Lua subsystem and modern GUI front ends.

Not the right pick when

Building from source is CMake based and requires installing dependencies first, so prebuilt packages are simpler for most users.

Capabilities

  • API access from many languages including Lua, Python, Rust and Go
  • embedded scriptable terminal emulator
  • asynchronous job control
  • shared data (shada) among multiple editor instances
  • XDG base directories support
  • compatible with most Vim plugins

Requirements

  • CMake based build with dependencies installed first when building from source

Cost: Free and open source

Video walkthroughs

Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.

What the repository ships

Has testsCI configured

Detected from the actual files in the repository root.

Latest release v0.12.4

Published 2026-07-05


NVIM v0.12.4
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 developer" warning)
  3. Extract: tar xzvf nvim-macos-x86_64.tar.gz
  4. Run ./nvim-macos-x86_64/bin/nvim

macOS (arm64)

  1. Download nvim-macos-arm64.tar.gz
  2. Run xattr -c ./nvim-macos-arm64.tar.gz (to avoid "unknown developer" warning)
  3. Extract: tar xzvf nvim-macos-arm64.tar.gz
  4. Run ./nvim-macos-arm64/bin/nvim

Linux (x86_64)

If your system does not have the required glibc version, try the (unsupported) builds for older glibc.

AppImage
  1. Download nvim-linux-x86_64.appimage
  2. Run chmod u+x nvim-linux-x86_64.appimage && ./nvim-linux-x86_64.appimage

     ./nvim-linux-x86_64.appimage --appimage-extract
     ./squashfs-root/usr/bin/nvim
Tarball
  1. Download nvim-linux-x86_64.tar.gz
  2. Extract: tar xzvf nvim-linux-x86_64.tar.gz
  3. Run ./nvim-linux-x86_64/bin/nvim

Linux (arm64)

AppImage
  1. Download nvim-linux-arm64.appimage
  2. Run chmod u+x nvim-linux-arm64.appimage && ./nvim-linux-arm64.appimage

     ./nvim-linux-arm64.appimage --appimage-extract
     ./squashfs-root/usr/bin/nvim
Tarball
  1. Download nvim-linux-arm64.tar.gz
  2. Extract: tar xzvf nvim-linux-arm64.tar.gz
  3. Run ./nvim-linux-arm64/bin/nvim

Other

Tags

README

<h1 align="center">

<img src="https://raw.githubusercontent.com/neovim/neovim.github.io/master/static/logos/neovim-logo-300x87.png" alt="Neovim">

<a href="https://neovim.io/doc/">Documentation</a> |

<a href="https://app.element.io/#/room/#neovim:matrix.org">Chat</a>

</h1>

Coverity Scan analysis

Packages

Debian CI

Downloads

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


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

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.


make CMAKE_BUILD_TYPE=RelWithDebInfo
sudo make install

To install to a non-default location:


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/b17d9691a24099c9210289f16afb1a498a89d803

[nvim-features]: https://neovim.io/doc/user/vim_diff.html#nvim-features

[nvim-news]: https://neovim.io/doc/user/news.html

[Roadmap]: https://neovim.io/roadmap/

[advanced UIs]: https://github.com/neovim/neovim/wiki/Related-projects#gui

[Managed packages]: ./INSTALL.md#install-from-package

[Debian]: https://packages.debian.org/testing/neovim

[Ubuntu]: https://packages.ubuntu.com/search?keywords=neovim

[Fedora]: https://packages.fedoraproject.org/pkgs/neovim/neovim/

[Arch Linux]: https://www.archlinux.org/packages/?q=neovim

[Void Linux]: https://voidlinux.org/packages/?arch=x86_64&q=neovim

[Gentoo]: https://packages.gentoo.org/packages/app-editors/neovim

[Homebrew]: https://formulae.brew.sh/formula/neovim

<!-- vim: set tw=80: -->

Related tools