What Neovim Does
- Modal editing — Normal, Insert, Visual, Command modes
- Lua scripting — full Lua API instead of Vimscript-only
- Built-in LSP — IDE-grade language features
- Tree-sitter — incremental syntax parsing, better highlighting
- Async jobs — run commands without blocking
- Terminal emulator —
:terminalinside Neovim - Floating windows — for menus, diagnostics, pickers
- Plugin ecosystem — via lazy.nvim, packer, vim-plug
Architecture
Fork of Vim with a cleaner codebase, MsgPack RPC for remote plugins, libuv for async, and Lua built in (5.1 via LuaJIT). The editor loop processes events and renders via redraw API. External TUIs and IDE integrations use the RPC layer.
Self-Hosting
CLI tool, self-contained binary.
Key Features
- First-class Lua
- Native LSP client
- Tree-sitter integration
- Floating windows
- Async job control
- Modern plugin managers (lazy.nvim)
- Popular distros: LazyVim, NvChad, AstroNvim, Kickstart.nvim
- Cross-platform
Comparison
| Editor | Modal | LSP | Speed | Ecosystem |
|---|---|---|---|---|
| Neovim | Yes (Vim) | Built-in | Fast | Huge |
| Vim | Yes | Plugin | Fast | Large |
| Helix | Yes (Kakoune) | Built-in | Fast | Growing |
| Emacs | No | lsp-mode | Slow | Huge |
| VS Code | No | Built-in | Slow (Electron) | Huge |
FAQ
Q: Zero-config starter? A: Clone the LazyVim or Kickstart.nvim template and you're ready to go. Includes LSP, completion, search, and file tree.
Q: Lua vs Vimscript? A: For new projects, Lua is strongly recommended — better typing, debugging, and performance than Vimscript. Older plugins can stay in Vimscript without rewriting.
Q: How does it compare to VS Code? A: VS Code is beginner-friendly with a complete ecosystem but is slower. Neovim starts in milliseconds and lets you edit code anywhere in the context, but requires configuration time.
Sources & Credits
- Docs: https://neovim.io/doc
- GitHub: https://github.com/neovim/neovim
- License: Apache 2.0 + Vim license