What Helix Does
- Multi-cursor native — selection + cursors as first-class primitives
- Tree-sitter — semantic selection via
Alt+o/i(expand/shrink) - LSP — built-in client for any LSP server
- Fuzzy picker —
space+ffile picker with preview - Pickers — buffers, symbols, workspace symbols, diagnostics
- Themes — 100+ built in
- Tutor —
hx --tutorfor interactive tutorial - No plugins yet — scheme-based plugin system WIP
Architecture
Rust terminal editor. Uses Ratatui for rendering, crossterm for events, Tree-sitter for parsing, tower-lsp for LSP. Selection-first model: every action operates on the current selection.
Self-Hosting
CLI editor, single Rust binary.
Key Features
- Batteries-included (no plugin hunt)
- Multi-cursor first-class
- Tree-sitter semantic selections
- Built-in LSP client
- 100+ themes
- Fuzzy file picker
- Visual tutor
- Fast startup
- Crash-safe autosave
Comparison
| Editor | Model | Config | Plugins | Batteries |
|---|---|---|---|---|
| Helix | Kakoune-like | TOML | WIP | Yes |
| Neovim | Vim | Lua | Huge | No (DIY) |
| Vim | Vim | Vimscript | Large | No |
| Kakoune | Own | kakrc | Scripts | Partial |
| VS Code | Mouse + shortcuts | JSON | Huge | Yes |
FAQ
Q: Is it usable without plugins? A: Built-in features already cover 80% of the Vim plugin ecosystem (LSP, tree-sitter, pickers, git). A plugin system is in development.
Q: Can Vim users adapt?
A: Expect to spend an hour or two switching from Vim's verb-noun to Helix's noun-verb order. E.g., Vim dw → Helix wd. Run hx --tutor for a structured walkthrough.
Q: What's the performance like? A: Written in Rust. Startup is <50ms and large files stay smooth. An order of magnitude faster than VS Code.
Sources & Credits
- Docs: https://docs.helix-editor.com
- GitHub: https://github.com/helix-editor/helix
- License: MPL 2.0