When it comes to terminal-based text editors, it’s usually Vim, Emacs and Nano that are in the spotlight.
This does not mean that there are no other text editors of this type. Neovim, a modern enhancement to Vim, is one of many such examples.
On a related note, I’d like to introduce you to another terminal-based text editor called Helix Editor.
Helix, a modern text editor written in Rust
Helix is written in Rust and uses Tree-sitter for syntax highlighting. The developer claims it’s faster than regex highlighting because Tree-sitter parses code into syntax trees like a compiler and thus gives much more information about the structure of the code.
You can follow local variables, calculate indentations, and manipulate selection to select syntax nodes. It is robust enough to produce results even with a syntax error.
The main objective of Helix is ”multiple selection”. This is based on Kakoune.
Built-in language server support provides context-sensitive completion, diagnostics, and code actions.
Install Helix on Linux
For Arch and Manjaro users, Helix is available in the AUR in two packages:
- dustbin propeller: contains the predefined binary of GitHub versions
- helix-git: build the master branch of this repository
As an Arch user you probably already know how to install apps using AUR I believe.
For other Linux distributions, you must use Cargo. Cargo is the Rust package manager. With this you can install Rust packages. Think of it as Rust’s equivalent to Python’s PIP.
You should be able to install Cargo using your distribution’s package manager. On Ubuntu based distributions, install cargo like this:
sudo apt install cargo
Then you clone the Helix repository:
git clone --recurse-submodules --shallow-submodules -j8 https://github.com/helix-editor/helix
Move to the cloned directory:
And now use the cargo to install Helix:
cargo install --path helix-term --features "embed_runtime"
A final step is to add the hx binary to the PATH variable so that you can run it from anywhere. This should be added to your bashrc or bash profile.
Now that everything is set, you should be able to use the editor by typing
hx in the terminal.
You can find keyboard shortcuts to use Helix on its documentation page:
How does it compare with Vim or Neovim? I can not tell. I can use Vim for basic editing but I’m not a Vim ninja. If you’re someone who swears and lives by Vim (or Emacs), I’ll let you try Helix and judge it for yourself.