Neovim vs Helix
Neovim vs Helix: Lua-scriptable Vim fork in C against a Rust modal editor with built-in LSP and selection-first editing.
Updated
short verdict
Pick Neovim if you have Vim plugins or Vimscript configuration to keep, or want to script the editor in Lua and drive it through APIs from other languages. Pick Helix if you want Kakoune-style selection-first editing with LSP and tree-sitter built in, and little setup before you start working.
Neovim and Helix are both terminal editors with modal editing, but they start from different places. Neovim is a refactored fork of Vim, written in C, that keeps compatibility with most Vim plugins and adds Lua scripting and async job control. Helix is written in Rust and combines Vim-like modal editing with Kakoune's selection-first model, with language server support and tree-sitter included.
this page is for
- Vim users deciding whether to move to Neovim or switch editing models
- Developers who want LSP and tree-sitter without assembling plugins
- Readers comparing an extensible editor with a built-in-features editor
Better pick when you need plugins, Lua or Vimscript configuration, or API access from other languages.
best for
- Vim users bringing existing configs and plugins
- Developers who script their editor or embed it in other tools
strengths
- Keeps compatibility with most Vim plugins and existing Vimscript configurations
- Built-in Lua scripting, plus API access from Python, JavaScript, Go, Rust and others
- Async job control and an embedded scriptable terminal emulator
- Terminal and GUI interfaces, with APIs that let UIs be built without changing the core
weaknesses
- Language-server features need configuration you set up yourself, where Helix ships them ready
- Configuration spans Lua, Vimscript and plugin ecosystems, which gives more to learn than a single built-in setup
Better pick when you want multiple selections and language server features working with minimal configuration.
best for
- Developers who want built-in LSP completion, diagnostics and go-to-definition
- Users interested in Kakoune-style select-then-act editing
strengths
- Selection-first editing with multiple selections for simultaneous edits across a file
- Built-in LSP support for completion, diagnostics and go-to-definition
- Tree-sitter integration for syntax highlighting and code editing
- Documented keymaps and installation steps for several platforms through system package managers
weaknesses
- Selection-first model differs from Vim's verb-then-object editing, so Vim muscle memory needs retraining
- Indentation definitions vary by language; coverage is listed in the runtime/queries directory
- No documented Vim plugin compatibility or multi-language scripting API
Key differences
- Language: Neovim is written in C (Apache-2.0); Helix is written in Rust (MPL-2.0).
- Editing model: Neovim follows Vim; Helix uses Kakoune's selection-first model with multiple selections.
- Code intelligence: Helix has built-in LSP support; Neovim's documented focus is APIs and plugins.
- Scripting: Neovim has built-in Lua and Vimscript support; Helix documents no scripting layer.
- Compatibility: Neovim keeps compatibility with most Vim plugins and Ruby/Python plugins.
- Interface: Neovim offers terminal and GUI interfaces; Helix is terminal-based.
Choose Neovim when
- You have an existing Vim configuration or plugins you want to keep with minimal changes.
- You want to script the editor in Lua or call its API from Python, JavaScript, Go or Rust.
- You need async job control or an embedded terminal inside the editor.
- You want a GUI front end as well as the terminal.
Choose Helix when
- You want LSP completion, diagnostics and go-to-definition available without extra plugins.
- You prefer selecting text first and applying edits to multiple selections at once.
- You want tree-sitter based highlighting and code editing out of the box.
When not to use these
- You need a graphical editor with mouse-driven menus; both are centered on modal keyboard editing.
- You have no interest in modal editing and want a non-modal editor; neither tool targets that.
FAQ
- Which is faster, Neovim or Helix?
- Neither project documents benchmark numbers or performance comparisons, so there is no basis for declaring a winner. Neovim is written in C and Helix in Rust.
- Can I use my Vim config with Helix?
- Helix does not document Vim configuration or plugin compatibility. Neovim does: it keeps compatibility with most Vim plugins and existing Vimscript configurations.
- Which needs less configuration?
- Helix is aimed at users who want Vim-style efficiency with language tooling without extensive configuration, and it includes LSP and tree-sitter. Neovim is aimed at users who want a highly configurable editor with scripting and plugin support.
- Can I install both?
- Both are distributed through system package managers, and neither project documents a conflict with the other. Neovim installs with brew install neovim, for example.