2017-11-02 03:03:24 +01:00
|
|
|
|
= Exec and Eval
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
2017-11-02 03:03:24 +01:00
|
|
|
|
== Description
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
2016-02-10 22:03:49 +01:00
|
|
|
|
The *exec* and *eval* commands can be used to run Kakoune commands, and
|
|
|
|
|
should be used as follows:
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
|
|
|
|
----------------------------
|
|
|
|
|
exec [<flags>] <key> ...
|
|
|
|
|
eval [<flags>] <command> ...
|
|
|
|
|
----------------------------
|
|
|
|
|
|
2016-02-10 22:03:49 +01:00
|
|
|
|
*exec* runs keys as if they were pressed, whereas *eval* executes its given
|
2016-04-08 18:00:24 +02:00
|
|
|
|
parameters as if they were entered in the command prompt. By default, their
|
2016-02-10 22:03:49 +01:00
|
|
|
|
execution happens within the context of the current client, and stops when
|
2016-02-03 18:15:35 +01:00
|
|
|
|
the last key/command is reached, or an error is raised.
|
|
|
|
|
|
2016-02-18 13:57:23 +01:00
|
|
|
|
These two commands also save the following registers, who are then restored
|
|
|
|
|
when the commands have been executed: */*, *"*, *|*, *^*, *@*.
|
|
|
|
|
|
2017-11-02 03:03:24 +01:00
|
|
|
|
== Optional flags
|
|
|
|
|
|
2016-02-03 18:15:35 +01:00
|
|
|
|
*-client* <name>::
|
|
|
|
|
execute in the context of the client named *name*
|
|
|
|
|
|
|
|
|
|
*-try-client* <name>::
|
2016-02-10 22:03:49 +01:00
|
|
|
|
execute in the context of the client named *name* if such client
|
|
|
|
|
exists, or else in the current context
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
|
|
|
|
*-draft*::
|
2016-02-10 22:03:49 +01:00
|
|
|
|
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
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
2017-10-03 14:22:15 +02:00
|
|
|
|
*-itersel*::
|
2016-02-10 22:03:49 +01:00
|
|
|
|
execute once per selection, in a context with only the considered
|
2017-04-21 12:32:47 +02:00
|
|
|
|
selection. This permits avoiding cases where the selections may
|
2016-02-10 22:03:49 +01:00
|
|
|
|
get merged
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
|
|
|
|
*-buffer* <names>::
|
2016-02-10 22:03:49 +01:00
|
|
|
|
execute in the context of each buffers in the comma separated list
|
|
|
|
|
*names*, as a name can be used to iterate on all buffers
|
2016-02-03 18:15:35 +01:00
|
|
|
|
|
|
|
|
|
*-no-hooks*::
|
|
|
|
|
disable hook execution while executing the keys/commands
|
|
|
|
|
|
|
|
|
|
*-with-maps*::
|
|
|
|
|
use user key mapping in instead of built in keys (*exec* only)
|
|
|
|
|
|
|
|
|
|
*-save-regs* <regs>::
|
2016-02-18 13:57:23 +01:00
|
|
|
|
regs is a string of registers to be restored after execution (overwrites
|
|
|
|
|
the list of registers saved by default, c.f. description)
|
2017-10-03 14:22:15 +02:00
|
|
|
|
|
|
|
|
|
*-collapse-jumps*::
|
|
|
|
|
collapse all jumps into a single one from initial selection
|