Discover / Development
Neovim
by neovimVim Script
Hyperextensible Vim-based text editor.
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 matchedNo 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 confidenceVim 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
My Neovim + Claude Code Setup To Build Apps Fast
Warp + Neovim + Superfile: This Terminal Setup CHANGED How I Code
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
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 newsin Nvim)
Install
Windows
Zip
- Download nvim-win64.zip (or nvim-win-arm64.zip for ARM)
- Extract the zip
- Run
nvim.exein your terminal
MSI
- Download nvim-win64.msi (or nvim-win-arm64.msi for ARM)
- Run the MSI
- Run
nvim.exein your terminal
Note: On Windows "Server" you may need to install vcruntime*.dll.
macOS (x86_64)
- Download nvim-macos-x86_64.tar.gz
- Run
xattr -c ./nvim-macos-x86_64.tar.gz(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-x86_64.tar.gz - Run
./nvim-macos-x86_64/bin/nvim
macOS (arm64)
- Download nvim-macos-arm64.tar.gz
- Run
xattr -c ./nvim-macos-arm64.tar.gz(to avoid "unknown developer" warning) - Extract:
tar xzvf nvim-macos-arm64.tar.gz - 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
- Download nvim-linux-x86_64.appimage
- Run
chmod u+x nvim-linux-x86_64.appimage && ./nvim-linux-x86_64.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim-linux-x86_64.appimage --appimage-extract
./squashfs-root/usr/bin/nvim
Tarball
- Download nvim-linux-x86_64.tar.gz
- Extract:
tar xzvf nvim-linux-x86_64.tar.gz - Run
./nvim-linux-x86_64/bin/nvim
Linux (arm64)
AppImage
- Download nvim-linux-arm64.appimage
- Run
chmod u+x nvim-linux-arm64.appimage && ./nvim-linux-arm64.appimage
- If your system does not have FUSE you can extract the appimage:
./nvim-linux-arm64.appimage --appimage-extract
./squashfs-root/usr/bin/nvim
Tarball
- Download nvim-linux-arm64.tar.gz
- Extract:
tar xzvf nvim-linux-arm64.tar.gz - Run
./nvim-linux-arm64/bin/nvim
Other
- Install by package manager
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>
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.
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 helplists all build targets.build/CMakeCache.txt(orcmake -LAH build/) contains the resolved values of all CMake variables.build/compile_commands.jsonshows 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: -->