How to Install and Use Helix in Linux as a Modern Modal Terminal Editor

Terminal-based text editing has long been dominated by Vim and Neovim, where mastering modal editing usually requires installing external plugin managers, configuring complex Language Server Protocol (LSP) integrations, and troubleshooting configuration syntax. Helix is a modern, post-modern modal text editor written entirely in Rust that reimagines this workflow. Inspired by Kakoune and Neovim, Helix delivers zero-configuration Language Server Protocol support, Tree-sitter syntax highlighting, multiple selections, and a selection-first modal editing paradigm straight out of the box.

What Sets Helix Apart from Traditional Terminal Editors?

While Vim follows an “action-object” mental model (where typing dw deletes a word before you visually confirm the selection), Helix reverses this workflow into a “selection-action” model. In Helix, you always select the text first, observe the visual highlight directly on your canvas, and then apply the desired transformation command (such as delete, change, or format).

Furthermore, Helix requires zero initial setup for modern programming languages. If a language server binary (such as rust-analyzer, gopls, pyright, or typescript-language-server) is present in your system path, Helix automatically hooks into it to provide autocompletion, hover documentation, diagnostic linters, and code formatting without editing a single configuration line.

How to Install Helix on Linux

Helix is packaged across major distributions and can also be installed via standalone binaries or package managers.

Method 1: Installing via Native Package Managers

On modern Ubuntu and Debian distributions, install the official community package or PPA:

sudo add-apt-repository ppa:maveonair/helix-editor
sudo apt update
sudo apt install helix

On Fedora and CentOS Stream:

sudo dnf install helix

On Arch Linux:

sudo pacman -S helix

Method 2: Installing via AppImage or Standalone Binary

If you prefer an isolated single-binary installation:

curl -fsSL https://github.com/helix-editor/helix/releases/latest/download/helix-v24.07-x86_64-linux.tar.xz -o helix.tar.xz
tar -xf helix.tar.xz
cd helix-*
sudo cp hx /usr/local/bin/
sudo cp -r runtime /usr/local/lib/helix-runtime

Verify that Helix is ready by checking installed health diagnostics:

hx --health

This diagnostic command displays a full status table showing which language servers, debuggers, and Tree-sitter grammars are detected on your system.

Core Navigation and Selection-First Editing

Launch the editor from your terminal by running hx followed by a file name:

hx main.py

Helix operates with three primary modes: Normal mode, Insert mode, and Select mode.

Moving and Selecting

In Normal mode, movement keys automatically extend selections:

  • h, j, k, l: Move the cursor left, down, up, and right.
  • w: Select forward to the beginning of the next word.
  • e: Select forward to the end of the current word.
  • b: Select backward to the beginning of the previous word.
  • x: Select the entire current line. Pressing x repeatedly selects subsequent lines downwards.
  • d: Delete (cut) the currently selected text into the clipboard register.
  • c: Change the selection (deletes highlighted text and drops into Insert mode).
  • y: Yank (copy) the selected text into the register.
  • p: Paste the yanked text after the cursor.
  • u and U: Undo and redo your latest modifications.

Entering and Exiting Insert Mode

  • i: Enter Insert mode immediately before the current selection.
  • a: Enter Insert mode immediately after the current selection.
  • o: Open a new line below and enter Insert mode.
  • O: Open a new line above and enter Insert mode.
  • Esc: Return to Normal mode.

Multiple Selections and Refactoring

Multiple cursors are a first-class citizen in Helix. To rename multiple occurrences of a variable across a block of code:

  1. Use x to select the lines containing the variable.
  2. Press s to invoke the regex selection prompt.
  3. Type the exact variable name (such as total_amount) and press Enter.
  4. Helix places an independent active cursor on every match inside the selected range.
  5. Press c to delete all selected names simultaneously and type your replacement identifier.
  6. Press Esc to return to Normal mode. Press , (comma) to collapse multiple cursors back to a single primary cursor.

Language Server Protocol Features (LSP) Out of the Box

Helix provides built-in shortcuts to harness language intelligence:

  • Space + f: Open a fuzzy file picker across your project workspace.
  • Space + b: Browse open file buffers.
  • Space + k: Display hover documentation for the function or symbol under the cursor.
  • gd: Jump directly to the definition of the active symbol.
  • gy: Jump to the type definition.
  • Space + r: Trigger symbol rename across the entire codebase via LSP.
  • Space + a: Open code actions and quick fixes suggested by the compiler.
  • [d and ]d: Jump between compiler diagnostics, warnings, and errors.

Customising Helix Configuration and Themes

Helix uses a single TOML configuration file located at ~/.config/helix/config.toml.

Create and edit your configuration:

mkdir -p ~/.config/helix
nano ~/.config/helix/config.toml

Add common ergonomics preferences:

theme = "catppuccin_mocha"

[editor]
line-number = "relative"
cursorline = true
mouse = true

[editor.cursor-shape]
insert = "bar"
normal = "block"
select = "underline"

[editor.file-picker]
hidden = false

Save the file. Helix automatically hot-reloads themes and configuration changes without restarting the active editor instance.

Frequently Asked Questions

How do I save and quit in Helix?

Like Vim, command mode is triggered with a colon. Type :w to save, :q to quit, or :wq to write and exit. You can also run :q! to discard unsaved changes.

Can I install plugins in Helix?

Helix does not feature an external plugin manager by design. Core capabilities including LSP, Tree-sitter, Git diff gutters, fuzzy finders, and debug adapters are built natively into the core Rust binary for stability and performance.

How does Helix compare to Neovim?

Neovim is an extensible platform that relies on user-curated Lua plugins for modern features. Helix delivers a complete IDE-grade modal editing environment immediately upon installation with zero configuration overhead.

Get the best tech tips delivered straight to your inbox.

Join thousands of readers mastering Apple, Google, Microsoft, and Linux.