Using Helix
For a full interactive introduction to Helix, refer to the
tutor which
can be accessed via the command hx --tutor
or :tutor
.
💡 Currently, not all functionality is fully documented, please refer to the key mappings list.
Modes
Helix is a modal editor, meaning it has different modes for different tasks. The main modes are:
- Normal mode: For navigation and editing commands. This is the default mode.
- Insert mode: For typing text directly into the document. Access by typing
i
in normal mode. - Select/extend mode: For making selections and performing operations on them. Access by typing
v
in normal mode.
Buffers
Buffers are in-memory representations of files. You can have multiple buffers open at once. Use pickers or commands like :buffer-next
and :buffer-previous
to open buffers or switch between them.
Selection-first editing
Inspired by Kakoune, Helix follows the selection → action
model. This means that whatever you are going to act on (a word, a paragraph, a line, etc.) is selected first and the action itself (delete, change, yank, etc.) comes second. A cursor is simply a single width selection.
Multiple selections
Also inspired by Kakoune, multiple selections are a core mode of interaction in Helix. For example, the standard way of replacing multiple instance of a word is to first select all instances (so there is one selection per instance) and then use the change action (c
) to edit them all at the same time.
Motions
Motions are commands that move the cursor or modify selections. They're used for navigation and text manipulation. Examples include w
to move to the next word, or f
to find a character. See the Movement section of the keymap for more motions.