ONLINE SIGNAL STRONG | MAC · LINUX · LIFE --:--:-- UTC
← all transmissions
Coding July 20, 2025 4 min #Gnome#KDE#Linux#Mac

Explore Helix: A Modern Terminal Text Editor

sudo pacman -S helix

Helix Text Editor

Helix is a modern, terminal-based text editor written in Rust that focuses on providing a fast, reliable, and powerful editing experience with built-in Language Server Protocol (LSP) support.

Key Features

Core Philosophy

Performance & Architecture

Built-in Features

Installation

Package Managers

# Arch Linux
sudo pacman -S helix

# macOS (Homebrew)
brew install helix

# Ubuntu/Debian (via snap)
sudo snap install helix --classic

# Cargo (from source)
cargo install helix-term

Post-installation

# Install language servers for better experience
hx --health

Basic Usage

Opening Files

# Open a file
hx filename.txt

# Open multiple files
hx file1.rs file2.py

# Open directory (file picker)
hx .

Key Concepts

Selection-First Editing

Unlike Vim’s action-first model (dw = delete word), Helix uses selection-first:

  1. Select what you want to change
  2. Perform the action

Common Key Bindings

Selection

File Operations

Search and Replace

Configuration

Config File Location

Basic Configuration Example

theme = "onedark"

[editor]

line-number = “relative” mouse = false cursorline = true auto-completion = true auto-format = true idle-timeout = 400

[editor.cursor-shape]

insert = “bar” normal = “block” select = “underline”

[editor.file-picker]

hidden = false

[keys.normal]

C-s = “:w”

Language Configuration

Languages are configured in ~/.config/helix/languages.toml:

[[language]]
name = "rust"
auto-format = true
formatter = { command = "rustfmt" }

[[language]]
name = "python"
language-server = { command = "pylsp" }
auto-format = true

Language Server Protocol (LSP)

Supported Features

Common LSP Commands

Health Check

# Check LSP server status
hx --health

# Check specific language
hx --health rust

Advantages Over Other Editors

vs Vim/Neovim

vs VS Code

vs Emacs

Common Workflows

Code Navigation

  1. Use Ctrl + o to open file picker
  2. Use Ctrl + p for symbol picker in current file
  3. Use Space + s for workspace symbol search
  4. Use LSP commands (gd, gr) for code navigation

Multi-cursor Editing

  1. Select text with s (regex)
  2. Use Alt + s to split selections
  3. Edit all selections simultaneously
  4. Use & to align selections

Git Workflow

  1. View git status in gutter
  2. Use :sh git status for detailed status
  3. Stage/unstage hunks (if git integration is configured)

Learning Resources

Helix represents a modern take on terminal text editing, combining the efficiency of modal editing with contemporary language tooling and a focus on discoverability and ease of use.

← all transmissions