10 Minutes to Helix

Install Helix, remember the three entry keys, and get comfortable opening, searching, editing, saving, and quitting.

· 更新于 2026年6月5日

中文版本

This article started from my old repository, 10-minutes-to-Helix.

The goal is simple: get Helix running, learn the few keys that unlock most features, change the theme, open files, search, edit, save, and quit.

If you have used Vim, Neovim, or SpaceVim before, some parts will feel familiar: modal editing, h j k l, search, registers, and macros.

But Helix is not a Vim distribution.

It is a modern terminal editor designed from scratch, with multiple selections, syntax-tree based editing, file pickers, project search, and themes built in.

Compared with Neovim or SpaceVim, Helix's advantage is that many useful features work without a plugin stack. The tradeoff is also clear: many keys are different from Vim, so direct Vim muscle memory can be misleading.

For Vim Users

If you come from Vim or Neovim, you do not need to relearn everything.

h j k l, i/a/o/O, /, n/N, :w, :q, and :wq still feel mostly familiar.

One idea matters:

Vim often feels like "operator + motion"; Helix is closer to "selection first, action later".

Most early frustration comes from that difference.

What you wantVim habitHelix way
Go to file start / endgg / Gg g / g e
Find files, search project, use clipboardLeader key or pluginsSpace f, Space /, Space y, Space p
Delete current lineddx d
Yank current lineyyx y
Change current lineccx c
Delete a worddww d
Change a wordcww c
Change inner wordciwm i w c
Delete inside parenthesesdi(m i ( d

The most common ways to select multiple lines:

What you wantHelix way
Select current linex
Extend line selection downwardPress x repeatedly
Delete selected linesSelect lines, then press d
Yank selected linesSelect lines, then press y
Change selected linesSelect lines, then press c
Extend selection to full line boundsX
Collapse back to one cursor;

If you want something closer to Vim visual mode, press v to enter Select mode, then extend the selection with j/k/h/l/w. If you want to operate on full lines, press X afterward.

1. Install

macOS:

brew install helix

Arch Linux:

sudo pacman -S helix

Windows:

scoop install helix

For more platforms, see the official installation guide.

Open Helix:

hx

Open a file:

hx README.md

If you do not know how to quit, press Esc to return to Normal mode, then type:

:q

Save and quit:

:wq

Helix ships with a tutor:

hx --tutor

2. Change the Theme

If you dislike the default theme, change it immediately.

Try a theme for the current session:

:theme github_dark_high_contrast
:theme dark-synthwave
:theme onedark
:theme gruvbox

Inside Helix, type :theme and press Tab to move through theme completions.

To make the theme permanent, open your config:

:config-open

Add this line at the top:

theme = "github_dark_high_contrast"

Save:

:w

Reload config:

:config-reload

If the config file does not exist, create it from the terminal:

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

3. Remember Three Entry Keys

You do not need to memorize the whole keymap at the beginning. Remember three entry keys first:

KeyWhat it opensHow to explore
gGoto actions: file start, file end, line start, line end, definition, referencesPress g and read the hint popup
SpaceCommon features: files, buffers, project search, comments, clipboard, command palettePress Space and read the popup
:Command prompt: save, quit, theme, config, reloadType : and use Tab completion

These three keys are useful because you can discover features as you go: press the entry key, read the hint, then press the next key.

4. Start Editing

The core editing idea in Helix is:

select first, act later.

In Vim, you often type an action and then a motion, like dw.

In Helix, you usually create a selection first, then run the action, like w then d.

Basic Operations

KeyDescription
h j k lMove around
iInsert before selection
aInsert after selection
o / OOpen a new line below / above
EscBack to Normal mode
u / UUndo / redo
.Repeat last change

Select and Change

KeyDescription
xSelect current line
%Select the whole file
wMove to next word start and form a selection
eMove to next word end and form a selection
vEnter Select mode
;Collapse selection to cursor
dDelete selection
cChange selection and enter Insert mode
yYank selection
pPaste
> / <Indent / unindent

Useful combinations:

KeyDescription
x dDelete current line
x cChange current line
x yYank current line
% dDelete the whole file content
m i w cChange inner word, similar to Vim ciw
m a (Select around parentheses
KeyDescription
/Search in current file
n / NNext / previous search result
*Search current selection
sSelect matches inside current selection
Space /Search in the whole project

Try multiple selections:

  1. Select the whole file with %.
  2. Press s.
  3. Type count.
  4. Press Enter.
  5. Press c, type total, then press Esc.

Now you are editing all matches at once.

5. More Vim Differences

Vim habitHelix wayNote
Leader keySpaceHelix Space is a built-in feature layer
Vim selections mostly start in visual modeHelix Normal mode is already selection-orientedThis is the biggest habit shift
f / t search only inside the current lineHelix f / t are not confined to the current lineThis is called out in the official keymap
Ctrl-v block modeOften use C / Alt-C for multi-cursor editingC copies the selection down, Alt-C copies it up
Search then replace one by oneOften use s to turn matches into multiple selectionsSelect a range, press s, enter a regex, then c / d / y

If you already have strong Vim muscle memory, do not try to turn Helix into Vim immediately.

Use it the Helix way for a few days: g for goto, Space for features, : for commands, and select before acting.

6. Advanced Topics

Helix has a built-in LSP client, but it does not install every language server for you.

If you only edit Markdown, config files, or small scripts, you can ignore this section at the beginning.

Check current environment:

hx --health

Check a specific language:

hx --health rust
hx --health python
hx --health typescript

If the language server is installed and visible in your PATH, Helix usually picks it up without extra config.

A simple config:

theme = "github_dark_high_contrast"

[editor]
line-number = "relative"
mouse = false
bufferline = "multiple"
color-modes = true

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

Config file path:

~/.config/helix/config.toml

Reference

  1. 10-minutes-to-Helix
  2. Helix official website
  3. Helix documentation
  4. Helix Keymap
  5. Helix Themes
  6. Helix Textobjects

Feedback

给作者反馈建议