Tools / Neovim

Neovim Review

A hyperextensible Vim fork with Lua, built-in LSP, Tree-sitter, and a built-in plugin manager

Last reviewed: October 2026

TL;DR

Neovim is a refactored, modernized Vim that keeps the modal editing model and Vim 8 plugin compatibility while adding Lua configuration, a built-in LSP client, Tree-sitter parsing, an embedded terminal, an RPC API that lets GUIs and IDEs embed it, and, since 0.12, a built-in plugin manager. It is free, extremely extensible, and the editor of choice for people willing to assemble their own environment. It is not an AI IDE out of the box, and its roadmap is explicitly tentative.

License

Apache-2.0 for contributions since the fork point, with code copied from Vim under the Vim license

Self-hosted

No

Cloud option

None

GitHub stars

103K★

Checked October 2026

Category

Developer Tools & Editors

Pricing

Free and open source

What is Neovim?

Neovim is a hyperextensible, Vim-based text editor. Lua is built in and you configure the editor in init.lua, with a documented, versioned API and RPC that lets extensions be written in any language. It can be embedded with nvim --embed in GUIs, IDEs, and web browsers. Built-in LSP support gives semantic code inspection and refactoring (language servers are installed separately and must be on your PATH), Tree-sitter parsing powers accurate highlighting and text objects, :terminal provides an embedded terminal, and :connect, :detach, and :restart let you multiplex sessions. It keeps Vimscript compatibility and supports Vim 8.x plugins. The roadmap says 0.12 (The year of Nvim OOTB) is the latest completed release, with vim.pack as the built-in plugin manager, removal of the Press ENTER prompt, progress messages, a default statusline showing diagnostics, and treesitter textobjects. The 0.13 cycle (Batteries Included) is in progress: multicursor, a vim.async task abstraction, improved file-change detection, an image API (vim.ui.img), and a dir.lua directory browser replacing netrw have shipped, while interactive :! and :[range]terminal, a Packspec pkg.json, and remote SSH are still open.

Installation & self-hosting

Pre-built packages are available for every major platform. On Windows (8 or later) use winget install Neovim.Neovim, Chocolatey, Scoop, an MSI for x86_64 or arm64, or a zip, installing pynvim with uv for Python plugins. On macOS (10.15 or later for pre-built archives) use Homebrew or MacPorts. On Linux you can use a pre-built tarball (x86_64 or arm64), an AppImage (which the docs warn might not work on distributions more than four years old), Flatpak, Snap, or distribution packages for Debian, Ubuntu, Fedora, Arch, RHEL, openSUSE, Gentoo, Nix, Void, Alpine, and more, plus FreeBSD, OpenBSD, and Termux on Android. Stable builds are the latest release or default package-manager builds, and nightly builds are a development prerelease. To build from source, follow BUILD.md and run make CMAKE_BUILD_TYPE=Release followed by sudo make install, or use a custom install prefix for an isolated install. The repository states the license as Apache 2.0 for contributions since a specific commit, except contributions copied from Vim (marked with the vim-patch token), and the docs do not state a minimum glibc version.

User experience

Neovim is keyboard-centered: you configure it in Lua and build your environment from plugins for completion, file navigation, Git, debugging, and so on. The built-in LSP and Tree-sitter, and now vim.pack, reduce the amount of glue you need, but a good setup is still something you assemble. Start it with nvim (not neovim), check the Breaking Changes list before upgrading, and use :Tutor and :help nvim-from-vim if you are coming from Vim. We did not test it ourselves; this section reflects the official site, install guide, roadmap, and repository.

Key features

  • Lua configuration and a documented, versioned API with RPC
  • Built-in LSP client and Tree-sitter parsing, with vim.pack as a built-in plugin manager since 0.12
  • Embedded terminal and session multiplexing with :connect and :detach
  • Embeddable in GUIs and IDEs via nvim --embed
  • Vim 8 plugin and Vimscript compatibility
  • Roadmap items such as multicursor, vim.async, and remote SSH in the 0.13 cycle

What Neovim does well

  • Extremely extensible and fast, with a huge plugin ecosystem
  • Free, with a large and active community (about 103,000 stars)
  • Modern foundations (async RPC, Lua) over the Vim model people already know
  • Runs anywhere, including remote servers over SSH, with packages for almost every OS

Where Neovim falls short

  • Steep learning curve, and a productive setup takes time to assemble
  • No integrated AI assistant or GUI debugger out of the box compared with AI-first IDEs
  • Language servers are not bundled, so you install and configure each one separately
  • The roadmap is tentative: items may change or be dropped, and breaking changes between releases are documented
  • The license mixes Apache 2.0 with Vim-licensed code

Pricing

Neovim is free and open source, with no paid tier.

Neovim vs Visual Studio Code

VS Code, JetBrains IDEs, Sublime Text, Cursor, and Windsurf are graphical editors with batteries included, rich debugging, and AI integrations. Neovim is a modal, terminal-first editor you assemble yourself, which makes it lighter and more customizable but less turnkey. Zed is the closest native alternative if you want speed with a GUI, while Neovim wins for terminal and remote work and for people who already think in Vim motions.

Best for

  • Developers who love modal editing and want total control over their tools
  • People who work in terminals and over SSH
  • Tool builders who want to embed an editor in another application

Not ideal for

  • Beginners who want an editor that works fully on day one
  • Teams that want a uniform, supported IDE experience
  • Developers who rely heavily on GUI debuggers and integrated AI agents

Alternatives

ZedVisual Studio CodeJetBrains IDEs

Final verdict

Neovim remains the best choice for people who want a modern, scriptable Vim. Expect to invest time in configuration, read the breaking-changes notes at each upgrade, and start from a well-maintained configuration if you want to be productive quickly.

Sources