Skip to content
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
70 lines (52 sloc) 2.35 KB

Execute-keys and Evaluate-commands


The execute-keys and evaluate-commands commands can be used to run Kakoune commands:

execute-keys [<switches>] <key> ...
evaluate-commands [<switches>] <command> ...

execute-keys runs keys as if they were pressed, whereas evaluate-commands evaluates its given parameters as if they were entered in the command prompt. By default, their execution happens within the context of the current client, and stops when the last key/command is reached, or an error is raised.

execute-keys also save the following registers, who are then restored when the commands have been executed: /, ", |, ^, @. evaluate-commands does not save any registers by default. (See :doc registers)

Optional switches

-client <name>

execute in the context of the client named name

-try-client <name>

execute in the context of the client named name if such client exists, or else in the current context


execute in a copy of the context of the selected client. Modifications to the selections or input state will not affect the client. This permits to make some modification to the buffer without modifying the user’s selection


execute once per selection, in a context with only the considered selection. This permits avoiding cases where the selections may get merged

-buffer <names>

execute in the context of each buffers in the comma separated list names. * as a name can be used to iterate on all non-debug buffers (See :doc buffers)

-save-regs <regs>

regs is a string of registers to be restored after execution (overwrites the list of registers saved by default, c.f. description)

evaluate-commands specific switches


disable hook execution while executing the keys/commands (See :doc hooks)


do not reparse and split positional arguments. Forward them exactly as given to the evaluate-commands command.

execute-keys specific switches


use user key mapping in instead of built in keys (See :doc mapping)


the execution of keys will trigger existing hooks (See :doc hooks)

You can’t perform that action at this time.