Terminal-based text editors are used for almost everything on Linux; from writing quick Bash scripts and configuration files to producing fully-fledged programs or even writing a novel.

While nano comes pre-installed on most distros, and Emacs and Vim have their own followings, there are other great terminal-based text editors out there. Here are four of the best:

1. Helix

helix editor in ubuntu terminal

Helix is a code-focused text editor, written in Rust, and inspired by Kakoune and Neovim. Its Kakoune roots are clearly visible due to the focus on multiple selections as an essential core function of Helix.

It also features the more famous modal editing capabilities of Neovim, but a little less daunting, and more user-friendly.

Syntax highlighting is handled by Tree-sitter, allowing you to easily handle indentations, track variables, and manipulate selections, without slowing down your process at all.

The best way to install Helix on any distro is to build it from the source. To do this, you first need to install Rust, alongside the Cargo package tool:

        curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
    

The above command will download and execute a script to install Rust and Cargo. Now clone the Helix GitHub repository with:

        git clone https://github.com/helix-editor/helix
    

Use the cd command to move into the Helix directory, then install Helix:

        cd helix
cargo install --locked --path helix-term

You can then start Helix by entering:

        hx
    

...into any terminal.

To write in Helix, you need to enter insert mode by pressing the i key on your keyboard. After entering your text, hit the Escape key to return to normal mode. From here, editing and manipulating text is similar to Vim. Keymappings are available in the official Helix documentation.

2. Amp

Amp text editor quickstart guide

Similar to Helix, Amp is also written in Rust, and draws heavy inspiration from Vim, with similar keybindings and again, a modal approach to editing. Amp is simple to use, and even beginners can get to grips with it straight away—although the primary market for Amp is developers.

In addition to the usual modes such as insert, normal, and select, Amp comes with several new modes which provide additional functionality.

Amp comes with sensible defaults and doesn't require any initial configuration. Syntax highlighting, fuzzy file search, and basic Git integration are available straight away.

If you have Rust and Cargo installed already, you can install Amp with:

        cargo install amp
    

One feature we really like about Amp is the ability to temporarily suspend your session, return to your shell, then resume editing from where you left off. You can do this by pressing the Z key when in normal mode.

To carry on editing, enter fg into your terminal. Full Amp documentation is available on the official Amp site. Alternatively, after starting Amp for the first time, hit the ? key to view the extensive quick-start guide.

3. Zee

Stepping away from Vim-inspired editors for a moment, Zee claims to be a modern editor for the terminal, in the spirit of Emacs. Written in Rust, Zee is blindingly fast and fluid, featuring 100 frames per second, with edits rendering in under 10 milliseconds. Similar to Helix, Zee uses Tree-sitter for syntax highlighting and validation.

Again, you should have Cargo and Rust installed, before installing Zee with:

        cargo install --locked zee
    

If you want to have Zee integrate with your system clipboard (you probably do), you'll need to install Zee with the system-clipboard feature:

        cargo install --locked --features system-clipboard zee
    

Once installed, you can start Zee by entering:

        zee
    

...into any terminal.

Alternatively, you can open one or more files in Zee by passing them as arguments. For example:

        zee this.file that.file another.file
    

...will open multiple files with the editor.

As you would expect from a text editor that draws inspiration from Emacs, Zee uses Emacs-like keybindings. You can find a list of these on GitHub.

4. Micro

micro text editor with three splits

Micro aims to be the replacement for the ever-popular nano text editor and is light on features and size. You may also be pleased to learn that you don't need to install Rust or Cargo to get it on your system.

The absolute easiest way to install the Micro text editor is to download and run the installation script provided by the developers. The following command will fetch the script using curl, and pipe the output to Bash:

        curl https://getmic.ro | bash
    

Alternatively, if you have the snap package manager installed, you can simply enter the following to install Micro on your machine:

        snap install micro --classic
    

As you might expect from the name, Micro is small. It's also easy to use and powerful, and comes with a ton of hotkeys that help you perform common tasks easily and quickly.

Hotkeys and keybindings are stored at ~/.config/micro/bindings.json, and you can easily edit them with:

        micro ~/.config/micro/bindings.json
    

Syntax highlighting is built in for 75 different programming languages. Micro supports splits, so you can edit multiple files simultaneously, in the style of a tiling window manager, and you can even use one of these splits to open another interactive shell within the editor.

Micro comes with seven different color schemes and mouse support so that you can drag and drop text within the editor.

You can start Micro with:

        micro
    

...and start typing. Unlike Vim-derived editors, you don't need to switch modes first!

To get help with the Micro keybindings, bring up the command bar with Ctrl + E, then enter:

        help defaultkeys
    

Terminal Text Editors Aren’t for Everyone

While editing text in the Linux terminal is fun and productive, you may find that you need more eye candy than is available from any of these offerings.

If you find that you need optional extras such as varied font sizes, tables, and advanced formatting, you may be better off using a full-fledged word processor. Luckily, there are several that you can install and use on Linux.