Helix is a post-modern modal text editor written in Rust that brings the selection-first Kakoune editing model to the terminal, aimed at developers who want Vim-style modal editing with language tooling built into the editor rather than assembled from a plugin stack.
What it is
Helix is a terminal-based modal text editor written in Rust and licensed under MPL-2.0. The project describes itself as inspired by Kakoune and Neovim, and its editing model is, in the maintainers' words, very heavily based on Kakoune: development settled on Kakoune's design decisions rather than re-deriving a modal model. It sits in the same corner of the developer-tools ecosystem as Vim, Neovim and Kakoune, and its topic list reflects that lineage directly with the tags kakoune, vim, rust and text-editor. The project's source, issue tracker, FAQ wiki and contributing guidelines (docs/CONTRIBUTING.md) live on GitHub, while user-facing documentation and the keymap reference are hosted at docs.helix-editor.com.
The concrete problem Helix solves is the setup cost of a modal editor. A traditional Vim or Neovim workflow reaches language-server features, syntax highlighting and structural code editing by installing and configuring a plugin layer on top of the core editor. Helix ships those capabilities in the editor itself: built-in language server support and tree-sitter driven highlighting arrive as core features rather than as add-ons. It also replaces the single-cursor assumption of Vim-style editing with multiple selections as the primary interaction, the design choice it inherits most visibly from Kakoune.
Key capabilities
- Vim-like modal editing, so existing modal habits transfer to the core editing model.
- Multiple selections as a first-class editing primitive, following Kakoune's selection-first design.
- Built-in language server support, without a separate plugin manager or LSP client plugin.
- Smart, incremental syntax highlighting and code editing via tree-sitter.
- Terminal-first operation, with a custom renderer using wgpu described as an interest rather than a shipped feature.
- Per-language indentation definitions stored at runtime/queries//indents.scm.
- A documented keymap set published at docs.helix-editor.com/keymap.html.
Who uses it and how
- Terminal-centric developers who work over SSH or inside terminal multiplexers and want modal editing without leaving the shell.
- Users migrating from Vim, Neovim or Kakoune who want multiple selections and built-in language server support rather than a curated plugin configuration.
- Developers working in languages that have tree-sitter queries and indentation definitions available under runtime/queries, who get highlighting and structural editing without extra setup.
- Contributors and users who need help, using the community Matrix Space at #helix-community:matrix.org, with #helix-editor:matrix.org for clients that do not support Matrix Spaces, plus the FAQ and Troubleshooting wikis.
Getting started
Installation is documented at docs.helix-editor.com/install.html, and the project publishes a Repology packaging badge tracking the distributions that carry a Helix package.
How it compares
Helix shares its territory with the tools named in its own README: Kakoune, Neovim and Vim, plus Emacs as the reference point for the custom renderer the maintainers want to explore. Against those, Helix's distinguishing positions are that its editing model follows Kakoune rather than Vim, and that language server support and tree-sitter highlighting are built in rather than plugin-supplied.
When to use it — and when not to
The README is brief and defers most operational detail to the documentation site, so anyone expecting the repository itself to be the manual should plan on reading docs.helix-editor.com first. Language coverage is uneven, because only certain languages currently have indentation definitions and users must check runtime/queries// for an indents.scm file. The editor is primarily terminal-based and the wgpu custom renderer is exploratory, so anyone who needs a mature graphical editor should not pick it yet; the 1671 open issues also indicate an active backlog rather than a quiet, fully settled codebase.
project readme (upstream, from github) — read inline



A Kakoune / Neovim inspired editor, written in Rust.
The editing model is very heavily based on Kakoune; during development I found
myself agreeing with most of Kakoune's design decisions.
For more information, see the website or
documentation.
All shortcuts/keymaps can be found in the documentation on the website.
Troubleshooting
Features
- Vim-like modal editing
- Multiple selections
- Built-in language server support
- Smart, incremental syntax highlighting and code editing via tree-sitter
Although it's primarily a terminal-based editor, I am interested in exploring
a custom renderer (similar to Emacs) using wgpu.
Note: Only certain languages have indentation definitions at the moment. Check
runtime/queries// for indents.scm.
Installation
Installation documentation.

Contributing
Contributing guidelines can be found here.
Getting help
Your question might already be answered on the FAQ.
Discuss the project on the community Matrix Space (make sure to join #helix-editor:matrix.org if you're on a client that doesn't support Matrix Spaces yet).
Credits
Thanks to @jakenvac for designing the logo!