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
iin normal mode. - Select/extend mode: For making selections and performing operations on them. Access by typing
vin 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 instances 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.