mirror of
https://github.com/mawww/kakoune.git
synced 2024-12-26 21:22:00 +03:00
Merge remote-tracking branch 'lenormf/manpage'
This commit is contained in:
commit
416b9d341c
@ -585,31 +585,41 @@ saved in the command history.
|
||||
Basic Commands
|
||||
~~~~~~~~~~~~~~
|
||||
|
||||
* `e[dit] <filename> [<line> [<column>]]`: open buffer on file, go to given
|
||||
Some commands take an esclamation mark (`!`), which can be used to force
|
||||
the execution of the command (i.e. to quit a modified buffer, the
|
||||
command `q!` has to be used).
|
||||
|
||||
* `cd <directory>`: change the current directory to the one passed
|
||||
* `e[dit][!] <filename> [<line> [<column>]]`: open buffer on file, go to given
|
||||
line and column. If file is already opened, just switch to this file.
|
||||
use edit! to force reloading.
|
||||
* `w[rite] [<filename>]`: write buffer to <filename> or use it's name if
|
||||
filename is not given.
|
||||
filename is not given.
|
||||
* `w[rite]a[ll]`: write all buffers that are associated to a file.
|
||||
* `q[uit]`: exit Kakoune, use quit! to force quitting even if there is some
|
||||
unsaved buffers remaining.
|
||||
* `wq`: write current buffer and quit
|
||||
* `q[uit][!]`: exit Kakoune, use quit! to force quitting even if there is some
|
||||
unsaved buffers remaining.
|
||||
* `kill`: terminate the current session, all the clients as well as the server
|
||||
* `w[a]q[!]`: write the current buffer (or all buffers when `waq` is used) and quit
|
||||
* `b[uffer] <name>`: switch to buffer <name>
|
||||
* `d[el]b[uf] [<name>]`: delete the buffer <name>, use d[el]b[uf]! to force
|
||||
deleting a modified buffer.
|
||||
* `b[uffer]n[ext]`: switch to the next buffer
|
||||
* `b[uffer]p[rev]`: switch to the previous buffer
|
||||
* `d[el]b[uf][!] [<name>]`: delete the buffer <name>
|
||||
* `source <filename>`: execute commands in <filename>
|
||||
* `runtime <filename>`: execute commands in <filename>, <filename>
|
||||
is relative to kak executable path.
|
||||
is relative to kak executable path.
|
||||
* `colorscheme <name>`: load named colorscheme.
|
||||
* `nameclient <name>`: set current client name
|
||||
* `namebuf <name>`: set current buffer name
|
||||
* `echo <text>`: show <text> in status line
|
||||
* `echo [options] <text>`: show <text> in status line, with the following options:
|
||||
** `-color` <face>: print the given text with <face>, most commonly `Error` or `Information`
|
||||
** `-markup`: expand the markup strings in <text>
|
||||
** `-debug`: print the given text to the `\*debug*` buffer
|
||||
* `nop`: does nothing, but as with every other commands, arguments may be
|
||||
evaluated. So nop can be used for example to execute a shell command
|
||||
while being sure that it's output will not be interpreted by kak.
|
||||
`:%sh{ echo echo tchou }` will echo tchou in Kakoune, whereas
|
||||
`:nop %sh{ echo echo tchou }` will not, but both will execute the
|
||||
shell command.
|
||||
evaluated. So nop can be used for example to execute a shell command
|
||||
while being sure that it's output will not be interpreted by kak.
|
||||
`:%sh{ echo echo tchou }` will echo tchou in Kakoune, whereas
|
||||
`:nop %sh{ echo echo tchou }` will not, but both will execute the
|
||||
shell command.
|
||||
|
||||
Multiple commands
|
||||
~~~~~~~~~~~~~~~~~
|
||||
@ -1375,24 +1385,28 @@ Kakoune state:
|
||||
|
||||
Some helper commands can be used to define composite commands:
|
||||
|
||||
* `:prompt <prompt> <register> <command>`: Prompt the user for a string, when
|
||||
* `prompt <prompt> <register> <command>`: Prompt the user for a string, when
|
||||
the user validates, store the result in given <register> and run <commmand>.
|
||||
the -init <str> switch allows setting initial content.
|
||||
* `:onkey <register> <command>`: Wait for next key from user, writes it into given
|
||||
* `onkey <register> <command>`: Wait for next key from user, writes it into given
|
||||
<register> and execute commands.
|
||||
* `:menu <label1> <commands1> <label2> <commands2>...`: display a menu using
|
||||
* `menu <label1> <commands1> <label2> <commands2>...`: display a menu using
|
||||
labels, the selected label's commands are executed.
|
||||
`menu` can take a -auto-single argument, to automatically run commands
|
||||
when only one choice is provided. and a -select-cmds argument, in which
|
||||
case menu takes three argument per item, the last one being a command
|
||||
to execute when the item is selected (but not validated).
|
||||
* `:info <text>`: display text in an information box, at can take a -anchor
|
||||
* `info <text>`: display text in an information box, at can take a -anchor
|
||||
option, which accepts `left`, `right` and `cursor` as value, in order to
|
||||
specify where the info box should be anchored relative to the main selection.
|
||||
* `:try <commands> catch <on_error_commands>`: prevent an error in <commands>
|
||||
* `try <commands> catch <on_error_commands>`: prevent an error in <commands>
|
||||
from aborting the whole commands execution, execute <on_error_commands>
|
||||
instead. If nothing is to be done on error, the catch part can be ommitted.
|
||||
* `:reg <name> <content>`: set register <name> to <content>
|
||||
* `reg <name> <content>`: set register <name> to <content>
|
||||
* `select <anchor_line>.<anchor_column>,<cursor_line>.<cursor_column>:...`:
|
||||
replace the current selections with the one described in the argument
|
||||
* `debug {info,buffers,options,memory,shared-strings}`: print some debug
|
||||
information in the `*debug*` buffer
|
||||
|
||||
Note that these commands are available in interactive command mode, but are
|
||||
not that useful in this context.
|
||||
|
@ -7,7 +7,15 @@ commands - a
|
||||
|
||||
Primitives
|
||||
----------
|
||||
*e[dit]* <filename> [<line> [<column>]]::
|
||||
|
||||
Some commands take an esclamation mark (*!*), which can be used to force
|
||||
the execution of the command (i.e. to quit a modified buffer, the
|
||||
command *q!* has to be used).
|
||||
|
||||
*cd* <directory>::
|
||||
change the current directory to the one passed
|
||||
|
||||
*e[dit][!]* <filename> [<line> [<column>]]::
|
||||
open buffer on file, go to given line and column. If file is already
|
||||
opened, just switch to this file. Use edit! to force reloading
|
||||
|
||||
@ -17,19 +25,27 @@ Primitives
|
||||
*w[rite]a[ll]*::
|
||||
write all buffers that are associated to a file
|
||||
|
||||
*q[uit]*::
|
||||
*q[uit][!]*::
|
||||
exit Kakoune, use quit! to force quitting even if there is some
|
||||
unsaved buffers remaining
|
||||
|
||||
*wq*::
|
||||
write current buffer and quit
|
||||
*kill*::
|
||||
terminate the current session, all the clients as well as the server
|
||||
|
||||
*w[a]q[!]*::
|
||||
write the current buffer (or all buffers when *waq* is used) and quit
|
||||
|
||||
*b[uffer]* <name>::
|
||||
switch to buffer <name>
|
||||
|
||||
*d[el]b[uf]* [<name>]::
|
||||
delete the buffer <name>, use d[el]b[uf]! to force deleting a
|
||||
modified buffer
|
||||
*b[uffer]n[ext]*::
|
||||
switch to the next buffer
|
||||
|
||||
*b[uffer]p[rev]*::
|
||||
switch to the previous buffer
|
||||
|
||||
*d[el]b[uf][!]* [<name>]::
|
||||
delete the buffer <name>
|
||||
|
||||
*source* <filename>::
|
||||
execute commands in <filename>
|
||||
@ -47,8 +63,17 @@ Primitives
|
||||
*namebuf* <name>::
|
||||
set current buffer name
|
||||
|
||||
*echo* <text>::
|
||||
show <text> in status line
|
||||
*echo* [options] <text>::
|
||||
show *text* in status line, with the following *options*:
|
||||
|
||||
*-color* <face>:::
|
||||
print the given text with *face*, most commonly *Error* or *Information*
|
||||
|
||||
*-markup*:::
|
||||
expand the markup strings in *text* (c.f. the 'expansions' documentation page)
|
||||
|
||||
*-debug*:::
|
||||
print the given text to the *\*debug** buffer
|
||||
|
||||
*nop*::
|
||||
does nothing, but arguments will be evaluated (e.g. shell expansion)
|
||||
@ -56,6 +81,9 @@ Primitives
|
||||
*set* <scope> <name> <value>::
|
||||
change the value of an option (c.f. the 'options' documentation page)
|
||||
|
||||
*unset* <scope> <name>::
|
||||
unset the value of an option (c.f. the 'options' documentation page)
|
||||
|
||||
*alias* <scope> <name> <command>::
|
||||
define a new alias, within the context of a scope
|
||||
|
||||
@ -123,10 +151,17 @@ commands:
|
||||
last one being a command to execute when the item is selected (but
|
||||
not validated)
|
||||
|
||||
*info* <text>::
|
||||
display text in an information box, at can take an *-anchor* option,
|
||||
which accepts left, right and cursor as value, in order to specify
|
||||
where the info box should be anchored relative to the main selection
|
||||
*info* [options] <text>::
|
||||
display text in an information box with the following *options*:
|
||||
|
||||
*-anchor* <line>.<column>:::
|
||||
print the text at the given coordinates
|
||||
|
||||
*-placement* {above,below}:::
|
||||
set the placement relative to the anchor
|
||||
|
||||
*-title* <text>:::
|
||||
set the title of the message box
|
||||
|
||||
*try* <commands> catch <on_error_commands>::
|
||||
prevent an error in *commands* from aborting the whole commands
|
||||
@ -136,6 +171,12 @@ commands:
|
||||
*reg* <name> <content>::
|
||||
set register *name* to *content*
|
||||
|
||||
*select* <anchor_line>.<anchor_column>,<cursor_line>.<cursor_column>:...::
|
||||
replace the current selections with the one described in the argument
|
||||
|
||||
*debug* {info,buffers,options,memory,shared-strings}::
|
||||
print some debug information in the *\*debug** buffer
|
||||
|
||||
Note that those commands are also available in the interactive mode, but
|
||||
are not really useful in that context.
|
||||
|
||||
@ -153,30 +194,30 @@ New commands can be defined using the *def* command:
|
||||
*commands* is a string containing the commands to execute, and *flags*
|
||||
can be any combination of the following parameters:
|
||||
|
||||
*-params* <num>::
|
||||
*-params* <num>:::
|
||||
the command accepts a *num* parameter, which can be either a number,
|
||||
or of the form <min>..<max>, with both <min> and <max> omittable
|
||||
|
||||
*-file-completion*::
|
||||
*-file-completion*:::
|
||||
try file completion on any parameter passed to this command
|
||||
|
||||
*-client-completion*::
|
||||
*-client-completion*:::
|
||||
try client name completion on any parameter passed to this command
|
||||
|
||||
*-buffer-completion*::
|
||||
*-buffer-completion*:::
|
||||
try buffer name completion on any parameter passed to this command
|
||||
|
||||
*-shell-completion*::
|
||||
*-shell-completion*:::
|
||||
following string is a shell command which takes parameters as
|
||||
positional params and output one completion candidate per line
|
||||
|
||||
*-allow-override*::
|
||||
*-allow-override*:::
|
||||
allow the new command to replace an exisiting one with the same name
|
||||
|
||||
*-hidden*::
|
||||
*-hidden*:::
|
||||
do not show the command in command name completions
|
||||
|
||||
*-docstring*::
|
||||
*-docstring*:::
|
||||
define the documentation string for the command
|
||||
|
||||
Using shell expansion allows to define complex commands or to access Kakoune
|
||||
|
@ -8,7 +8,7 @@ expansions - a
|
||||
Strings
|
||||
-------
|
||||
\'strings'::
|
||||
uninterpreted strings, use a backslash (\\') to escape the separator
|
||||
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
|
||||
|
@ -18,7 +18,7 @@ addhl <highlighter_name> <highlighter_parameters> ...
|
||||
and
|
||||
|
||||
-----------------------
|
||||
*rmhl* <highlighter_id>
|
||||
rmhl <highlighter_id>
|
||||
-----------------------
|
||||
|
||||
*highlighter_id* is a name generated by the highlighter specified with
|
||||
@ -32,7 +32,9 @@ General highlighters
|
||||
highlight a regex, takes the regex as first parameter, followed by
|
||||
any number of face parameters. For example:
|
||||
|
||||
addhl regex //(\hTODO:)?[^\n] 0:cyan 1:yellow,red
|
||||
-----------------------------------------------------
|
||||
addhl regex //(\hTODO:)?[^\n] 0:cyan 1:yellow,red
|
||||
-----------------------------------------------------
|
||||
|
||||
will highlight C++ style comments in cyan, with an eventual 'TODO:'
|
||||
in yellow on red background
|
||||
|
@ -225,7 +225,7 @@ Changes
|
||||
*>*::
|
||||
indent selected lines
|
||||
|
||||
*<a->>*::
|
||||
*<a\->>*::
|
||||
indent selected lines, including empty lines
|
||||
|
||||
*<*::
|
||||
@ -284,7 +284,9 @@ Changes
|
||||
rotate selections content, if specified, the count groups selections,
|
||||
so the following command
|
||||
|
||||
3<a-'>
|
||||
----------
|
||||
3<a-'>
|
||||
----------
|
||||
|
||||
rotate (1, 2, 3) and (3, 4, 6) independently
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user