The core Vis API.
.. doxygengroup:: vis_lifecycle :content-only:
.. doxygengroup:: vis_draw :content-only:
.. doxygengroup:: vis_windows :content-only:
The editor core processes input through a sequences of symbolic keys:
Special keys such as
<Enter>
,<Tab>
or<Backspace>
as reported by termkey_strfkey.Note
The prefixes
C-
,S-
andM-
are used to denote theCtrl
,Shift
andAlt
modifiers, respectively.Key action names as registered with vis_action_register.
Note
By convention they are prefixed with
vis-
as in<vis-nop>
.Regular UTF-8 encoded input.
Note
An exhaustive list of the first two types is displayed in the :help
output.
.. doxygengroup:: vis_keys :content-only:
The key map is used to translate keys in non-input modes, before any key bindings are evaluated. It is intended to facilitate usage of non-latin keyboard layouts.
.. doxygengroup:: vis_keymap :content-only:
Each mode has a set of key bindings. A key binding maps a key to either another key (referred to as an alias) or a key action (implementing an editor operation).
If a key sequence is ambiguous (i.e. it is a prefix of multiple mappings) more input is awaited, until a unique mapping can be resolved.
Warning
Key aliases are always evaluated recursively.
.. doxygengroup:: vis_keybind :content-only:
A key action is invoked by a key binding and implements a certain editor function.
The editor operates like a finite state machine with key sequences as transition labels. Once a prefix of the input queue uniquely refers to a key action, it is invoked with the remainder of the input queue passed as argument.
Note
A triggered key action currently does not know through which key binding it was invoked. TODO: change that?
.. doxygengroup:: vis_action :content-only:
A mode defines enter, leave and idle actions and captures a set of key bindings.
Modes are hierarchical, key bindings are searched recursively towards the top of the hierarchy stopping at the first match.
.. doxygenenum:: VisMode
.. doxygengroup:: vis_modes :content-only:
Dictates how many times a motion or text object is evaluated. If none is specified, a minimal count of 1 is assumed.
.. doxygengroup:: vis_count :content-only:
.. doxygengroup:: vis_operators :content-only:
.. doxygengroup:: vis_motions :content-only:
.. doxygengroup:: vis_textobjs :content-only:
Marks keep track of a given text position.
Note
Marks are currently file local.
.. doxygengroup:: vis_marks :content-only:
.. doxygengroup:: vis_registers :content-only:
Macros are a sequence of keys stored in a Register which can be reprocessed as if entered by the user.
Warning
Macro support is currently half-baked. If you do something stupid (e.g. use mutually recursive macros), you will likely encounter stack overflows.
.. doxygengroup:: vis_macros :content-only:
.. doxygengroup:: vis_cmds :content-only:
.. doxygengroup:: vis_options :content-only:
These function operate on the currently focused window but ensure that all windows which show the affected region are redrawn too.
.. doxygengroup:: vis_changes :content-only:
.. doxygengroup:: vis_info :content-only:
.. doxygengroup:: vis_misc :content-only: