Provided by: kakoune_0~2016.12.20.1.3a6167ae-1build1_amd64 bug

NAME

       expansions - a

STRINGS

       'strings'
           uninterpreted strings, use a backslash (\') to escape the separator

       "strings"
           expanded strings, % strings (c.f. next section) contained are expended, use a
           backslash (\\%) to escape the separator

       %{strings}
           these strings are very useful when entering commands

           •   the { and } delimiters are configurable, you can use any non alphanumeric
               character

                   e.g. %[string], %<string>, %(string), %~string~, %!string!

           •   if the character following % is one of {[(<, then the closing one is the matching
               }])> and the delimiters are not escapable but are nestable

                   e.g. %{ roger {}; } is a valid string, %{ marcel \} as well

TYPED EXPANSIONS

       sh
           shell expansion, similar to posix shell $(...)  construct (c.f. next section)

       reg
           register expansion, will be replaced by the content of the given register

       opt
           option expansion, will be replaced with the value of the given option

       val
           value expansion, gives access to the environment variable available to the Shell
           expansion. The kak_ prefix is not used there

       arg
           argument expansion, gives access to the arguments of the current command, the content
           can be a number, or @ for all arguments

SHELL EXPANSIONS

       The %sh{...} expansion replaces its content with the output of the shell commands in it.
       The following environment variables are used to pass information about Kakoune’s state:

       kak_selection
           content of the main selection

       kak_selections
           content of the selection separated by colons, colons in the selection contents are
           escaped with a backslash

       kak_selection_desc
           range of the main selection, represented as anchor,cursor; anchor and cursor are in
           this format: line.column

       kak_selections_desc
           range of the selections separated by colons

       kak_bufname
           name of the current buffer

       kak_buffile
           full path of the file or same as kak_bufname when there’s no associated file

       kak_buflist
           the current buffer list, each buffer separated by a colon

       kak_timestamp
           timestamp of the current buffer, the timestamp is an integer value which is
           incremented each time the buffer is modified

       kak_runtime
           directory containing the kak binary

       kak_count
           count parameter passed to the command

       kak_opt_<name>
           value of option name

       kak_reg_<r>
           value of register r

       kak_socket
           filename of session socket (/tmp/kak-<session>)

       kak_session
           name of the current session

       kak_client
           name of current client

       kak_cursor_line
           line of the end of the main selection

       kak_cursor_column
           column of the end of the main selection (in byte)

       kak_cursor_char_column
           column of the end of the main selection (in character)

       kak_window_width
           width of the current kakoune window

       kak_window_height
           height of the current kakoune window

       kak_hook_param
           filtering text passed to the currently executing hook

       kak_client_env_<name>
           value of the name variable in the client environment (e.g.  $kak_client_env_SHELL is
           the SHELL variable)

       Note that in order for Kakoune to pass a value in the environment, the variable has to be
       spelled out within the body of the expansion

MARKUP STRINGS

       In certain contexts, Kakoune can take a markup string, which is a string syntax will
       enable the face facename until another face gets activated, or the end of the string is
       reached.

       Literal { characters shall be written {, and a literal backslash (\) that precedes a {
       character shall be escaped as well (\\).

                                                                                KAK_EXPANSIONS(1)