Introduction
Vim is a legendary editor and, by modern standards, a hard one to extend: its Vimscript configuration language and single-threaded design show their age. Neovim, forked from Vim in 2014, keeps Vim's modal editing and keybindings while rebuilding the internals for the modern era: Lua configuration, a built-in language server client, async plugins, and a first-class terminal. It is why a generation of Vim users moved: same muscle memory, modern capabilities.
What Neovim changes, and what it keeps
Neovim keeps everything Vim users rely on: modes, motions, and the dw/ci" grammar, and it upgrades the parts around it:
- Lua configuration:
init.luareplaces Vimscript for most users: a real programming language for config, with a huge plugin ecosystem built on it. - Built-in LSP client: language servers (the same protocol VS Code uses) plug in natively, giving autocomplete, go-to-definition, and diagnostics without a plugin framework.
- Treesitter: incremental parsing gives accurate syntax highlighting and code-aware motions, replacing regex-based highlighting.
- Async everything: plugins and jobs run without freezing the editor, and a built-in terminal (
:terminal) runs shells inside editor splits. - Remote UI: Neovim's architecture separates the editor core from the UI, so GUIs and editor integrations can embed it.
A minimal Lua config shows the flavour: options set as Lua code, plugins managed by a plugin manager:
vim.opt.number = true
vim.opt.relativenumber = true
vim.keymap.set("n", "<leader>ff", ":Telescope find_files<CR>")
Same editor, same keys, but configured in a language developers already know, with IDE features built in rather than bolted on.
The honest trade
Neovim's trade is the same as Vim's, plus setup time: the learning curve is steep, and a good setup takes real configuration work (or a prebuilt distribution like LazyVim). GUI editors like VS Code still win on batteries-included convenience and debugging UI. Choose Neovim when you want Vim's editing with modern IDE features and you enjoy configuring your tools, and choose VS Code (with Vim keybindings) when you want the features without the setup.
Vim, rebuilt modern
Neovim is Vim rebuilt for the modern era: identical modal editing, plus Lua config, built-in LSP, Treesitter, and async plugins. It trades setup effort for an editor that is both legendary and current, which is why Vim's future wears its name.
Originally published at https://practicaldevblog.blogspot.com/2026/10/neovim-explained-vim-rebuilt-for-modern.html
Top comments (0)