TL;DR — Quick Summary

Helix is a modern terminal text editor with built-in LSP, Tree-sitter, and multiple cursors. Learn keybindings, configuration, and how it compares to Vim/Neovim.

Helix is what you get when you redesign a modal editor from scratch with modern IDE features built in. No plugin manager, no configuration files, no waiting for Tree-sitter to install — it works out of the box with syntax highlighting, LSP integration, and multiple cursor support.

Installation

# macOS
brew install helix

# Arch Linux
sudo pacman -S helix

# Ubuntu/Debian (via PPA or AppImage)
sudo add-apt-repository ppa:maveonair/helix-editor
sudo apt install helix

# Cargo
cargo install --locked helix-term

# Verify
hx --version

Core Concept: Selection → Action

Vim: d (delete) → w (word) = delete word Helix: w (select word) → d (delete) = delete word

You see what you’re selecting before acting on it. This is more visual and less error-prone.

Essential Keybindings

Key Normal Mode Description
i Insert before Enter insert mode
a Insert after Append mode
w/b/e Word motions Select word/back/end
x Select line Select entire line
d Delete Delete selection
c Change Delete and enter insert
y/p Yank/Paste Copy and paste
s Select in selection Search within selection
C Add cursor below Multiple cursors
Alt+s Split selection Create cursor per match
, Remove secondary cursors Keep only primary
Space Space mode menu File picker, LSP, etc.

Space Mode (Command Menu)

Press Space in Normal mode to see all available commands:

Key Action
Space+f File picker (fuzzy finder)
Space+b Buffer picker
Space+s Symbol search (LSP)
Space+d Diagnostics
Space+a Code actions
Space+r Rename symbol
Space+k Show hover docs

Built-in LSP

Helix auto-detects language servers. Install them and they just work:

# Example language servers
npm i -g typescript-language-server   # TypeScript
pip install python-lsp-server         # Python
rustup component add rust-analyzer    # Rust

Features available out of the box:

  • Autocomplete (Ctrl+x in insert mode)
  • Go to definition (gd)
  • Find references (gr)
  • Hover documentation (Space+k)
  • Code actions (Space+a)
  • Rename (Space+r)
  • Diagnostics (Space+d)

Configuration

Config file: ~/.config/helix/config.toml

theme = "catppuccin_mocha"

[editor]
line-number = "relative"
mouse = true
cursorline = true
auto-format = true
idle-timeout = 50

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

[editor.file-picker]
hidden = false

[editor.lsp]
display-messages = true
display-inlay-hints = true

[editor.indent-guides]
render = true

Comparison

Feature Helix Neovim Vim VS Code
Language Rust C/Lua C Electron
LSP Built-in Plugin Plugin Built-in
Tree-sitter Built-in Plugin No Extension
Multiple cursors Built-in Plugin No Built-in
Fuzzy finder Built-in Plugin Plugin Built-in
Plugin system Planned Lua VimScript Extension API
Config needed Minimal Extensive Extensive GUI

Summary

  • Helix is a modern modal editor with selection-first editing (select → act)
  • Built-in LSP, Tree-sitter, multiple cursors, and fuzzy finder — no plugins needed
  • Space-mode menu provides discoverability for all commands
  • Minimal configuration required — works great out of the box
  • Written in Rust for fast startup and rendering performance