Skip to main content
Vorto ships with vim-style default bindings and lets you override or extend them through [[bind]] entries in config.toml. Each entry maps a key sequence to a named action. New bindings layer on top of the defaults — you only need to list the keys you want to change.

[[bind]] entry fields

Each [[bind]] entry has two required fields:

Key notation

Vorto parses key sequences in vim notation. Each token is either a single character or a named key in angle brackets: Modifier prefixes are case-insensitive and dash-separated: <C-s> and <c-s> are equivalent.

Binding contexts

The key sequence determines which binding context the action is installed in:
  • Single key (e.g. <C-s>, u, G) — installed in the Initial context, active as soon as a key is pressed in Normal mode.
  • Leader sequence (e.g. <space>w, <space>f) — installed in the Leader context, active after pressing Space.
Only single-key and <space>X two-key sequences are supported. Sequences of three or more keys, or two-key sequences that don’t start with <space>, are not valid in the current version.

Valid action names

TOML syntax forms

Table-array form

Use one [[bind]] block per entry. This is the most readable form for a small number of custom bindings:

Inline array form

Use a single bind key with an inline array of objects. Convenient when you want to group all your bindings in one place:
Both forms are equivalent — choose whichever suits your style. You cannot mix them in the same file.

Overriding existing bindings

A new [[bind]] entry for a key that already has a default binding replaces the default. For example, to remap u from Undo to Quit:
The original u → Undo binding is discarded. All other defaults remain intact.