Neovim 0.12.6: a terminal editor configured in Lua, with a language server inside

Summary

A terminal text editor that keeps the Vim editing model while moving configuration to Lua, with a language server client and Tree-sitter parsing built into the core. The current release is 0.12.6, published under the Apache licence.

Recommend
Name
Neovim
Version
0.12.6
Pricing
Free
Open source
Open source
Operating system
WindowsmacOSLinux
Updated
2026-10-13 11:59

People who write code in a terminal rarely lack patience. What they lack is a place where they do not have to keep switching windows.

A rebuild that starts from Vim

The appeal of a terminal editor is easy to state: it does not depend on a graphical session, it asks very little of the machine, and it keeps working over a remote connection. The key habits of an established editor become reflex after a decade of use, and the cost of moving to something else is high enough that most people never do. That explains why editors of this kind live so long and are so difficult to replace.

Neovim sits in exactly that gap. Its official definition is a short one: a highly extensible, Vim based text editor. What it changes is the way the program is put together. Parts that used to be written in and locked down were separated into components, so the editor core, the interface and the extension mechanism are independent and talk to each other through defined interfaces. Much of what followed came out of that split.

The most immediate point for users is compatibility. The feature page states that it is fully compatible with the Vim editing model and with version one of the Vim script language. Key bindings and existing scripts keep working, and an existing configuration can be migrated piece by piece rather than rewritten in one go. The documentation even keeps a dedicated entry point for people arriving from Vim.

screenshot

Configuration, parsing and extensions

Once configuration moves to Lua, the configuration itself can be written as code with conditions and loops rather than a long list of assignments. Plugins can be written in Lua as well. The official wording is that configuration lives in a Lua file, and scripts and plugins share one language, which removes the old routine of carrying logic back and forth between two syntaxes.

Two changes in the editing experience deserve separate mention. The first is parsing: syntax is handled by Tree-sitter, which reads code by grammatical structure instead of matching patterns line by line. Matching brackets, selecting a function or a class, and highlighting all become more accurate because they follow the real structure. The second is a language server client built into the core, so that once the analyser for a given language is connected, the editor can jump to a definition, list references and rename across files without anyone implementing that support language by language.

The more unusual part of the extension story is the remote procedure interface. The official material says extensions can be written in any language, and that graphical programs, integrated development environments and even browsers can embed the editor core as a component. The built in terminal is the other practical addition: builds, log output and editing share one window, which removes a layer of switching.

Versions and how to get it

The release page offers builds for Linux, macOS and Windows under the same version number, so a configuration can usually travel between platforms unchanged. The current release is 0.12.6. Patch releases within a minor series are mostly fixes, and reading the notes before crossing a minor version is the safer habit.

The project is published under Apache-2.0, which permits running, modifying and redistributing the program and includes a patent grant. For organisations wiring an editor into a company development process, that clause is often weighed against purely permissive licences. The community also maintains a number of preconfigured setups that deliver a fairly complete editing environment on installation, which suits people who would rather start from something working than assemble a configuration from nothing.

Item

Official information

Current release

0.12.6

Form

Terminal text editor

Platforms

Linux, macOS, Windows

Configuration language

Lua

Main capabilities

Language server client, Tree-sitter parsing, remote procedure extensions, built in terminal

Licence

Apache-2.0

Keeping the old editing habits while moving configuration and extensions onto a language that is easier to write is the practical core of this rebuild.

A few practical notes: when migrating from Vim, keep the old configuration intact so the editor still starts, then replace it item by item, one change at a time, so that a problem is easy to trace; connect language servers only for the languages actually used, since too many of them slow startup noticeably; and keep the plugin list short, disabling plugins one at a time when something breaks rather than installing a pile and then investigating.

NeovimDownload
Supported systems: Windows macOS Linux