For decades, Vim and Neovim have dominated the “modal text editor” landscape. But recently, a new challenger written in Rust has emerged, promising to fix the steepest parts of Vim’s learning curve while including IDE features straight out of the box.
Meet Helix.
Helix is a terminal-based modal editor that heavily borrows from Vim’s speed, but radically changes the core philosophy of how you edit code. It also comes with built-in Language Server Protocol (LSP) and Treesitter support, meaning you do not have to spend hours writing configuration files just to get intelligent autocomplete.
The Helix Philosophy: Selection First
The biggest difference between Vim and Helix is the order of operations.
In Vim, you specify the Action, and then the Object.
For example, to delete a word, you press d (delete) and then w (word). The action happens instantly.
In Helix, you specify the Object, and then the Action.
To delete a word, you press w (select word). Helix will instantly highlight the word on your screen so you can see exactly what is selected. Then, you press d (delete) to act on it.
This “Selection → Action” model provides incredible visual feedback. You never have to guess if your command is going to delete the right amount of text.
Installation
Because Helix is written in Rust, it is blazing fast and easy to install.
Debian/Ubuntu:
sudo add-apt-repository ppa:maveonair/helix-editor
sudo apt update
sudo apt install helix
Fedora:
sudo dnf install helix
macOS:
brew install helix
Launch Helix by typing hx in your terminal.
Basic Navigation and Multiple Cursors
Movement in Helix is identical to Vim:
h,j,k,lto move Left, Down, Up, and Right.wandbto jump forward and backward by word.
Multiple Selections
Because Helix is heavily inspired by Kakoune, multiple cursors are a first-class feature.
- Select a word by pressing
w. - Press
s(Select all) to highlight every occurrence of that word in the file. - Press
c(Change) to delete them all and instantly start typing the new variable name.
It is basically a global find-and-replace that happens visually in real-time!
Batteries Included: LSP and Treesitter
The most frustrating part of setting up Neovim is configuring the plugins required for modern development. Helix solves this by embedding them natively.
As long as you have the language server installed on your system (like pylsp for Python, or clangd for C++), Helix will automatically detect it and instantly provide:
gd: Go to definition.gr: Find all references.K: Show hover documentation.- Space + r + n: Rename symbol across the entire project.
Furthermore, Helix uses Treesitter natively for syntax highlighting, ensuring that your code is parsed and colored with perfect semantic accuracy.
The Space Menu
Helix uses the Spacebar as its primary leader key. Pressing Space opens a beautiful menu at the bottom of the screen showing you all available options.
Space + f: Opens the built-in fuzzy file finder.Space + e: Opens the built-in file explorer tree.Space + b: Opens the active buffer picker.
Conclusion
Helix is rapidly gaining popularity for a very good reason: it gives developers 95% of the power of a fully customized Neovim setup with 0% of the configuration headaches.
If you love the idea of modal editing and keeping your hands on the home row, but you are tired of debugging Lua plugin configurations, Helix might just be your new favorite editor.
Discussion
Loading comments...