Remapping keys
The same file holds your key remaps. Each mode gets its own section —
[keys.normal], [keys.insert], [keys.select] — and each line maps a key
to a command name:
[keys.normal]
C-s = ":w"
A key can also open a nested table, which turns it into a prefix. This is
how you get the classic jk to leave insert mode:
[keys.insert]
j = { k = "normal_mode" }
Helix waits after j to see whether k follows; anything else inserts the
j as usual.
Two kinds of command can go on the right-hand side. Anything you can type
at the prompt works, written with its colon (":w"). Bare names like
normal_mode or extend_line are the editor commands that keys are bound
to out of the box; the Helix keymap documentation lists every one.
Work through the checklist below to add the jk map and prove it works.