mirror of
https://github.com/mawww/kakoune.git
synced 2024-12-18 08:51:46 +03:00
Merge remote-tracking branch 'Delapouite/README'
This commit is contained in:
commit
fd584b3e67
130
README.asciidoc
130
README.asciidoc
@ -492,44 +492,19 @@ Changes
|
|||||||
Goto Commands
|
Goto Commands
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
Commands beginning with g are used to goto certain position and or buffer:
|
Commands beginning with `g` are used to goto certain position and or buffer.
|
||||||
|
|
||||||
* `gh`: select to line begin
|
|
||||||
* `gl`: select to line end
|
|
||||||
* `gi`: select to line begin (non blank)
|
|
||||||
|
|
||||||
* `gg`, `gk`: go to the first line
|
|
||||||
* `gj`: go to the last line
|
|
||||||
* `ge`: go to last char of last line
|
|
||||||
|
|
||||||
* `gt`: go to the first displayed line
|
|
||||||
* `gc`: go to the middle displayed line
|
|
||||||
* `gb`: go to the last displayed line
|
|
||||||
|
|
||||||
* `ga`: go to the previous (alternate) buffer
|
|
||||||
* `gf`: open the file whose name is selected
|
|
||||||
|
|
||||||
* `g.`: go to last buffer modification position
|
|
||||||
|
|
||||||
If a count is given prior to hitting `g`, `g` will jump to the given line.
|
If a count is given prior to hitting `g`, `g` will jump to the given line.
|
||||||
Using `G` will extend the selection rather than jump.
|
Using `G` will extend the selection rather than jump.
|
||||||
|
|
||||||
|
See <<doc/pages/keys#goto-commands,`:doc keys`>>.
|
||||||
|
|
||||||
View commands
|
View commands
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
Some commands, all beginning with v permit to manipulate the current
|
Commands beginning with `v` permit to center or scroll the current
|
||||||
view.
|
view. Using `V` will lock view mode until `<esc>` is hit
|
||||||
|
|
||||||
* `vv` or `vc`: center the main selection in the window (vertically)
|
See <<doc/pages/keys#view-commands,`:doc keys`>>.
|
||||||
* `vm`: center the main selection in the window (horizontally)
|
|
||||||
* `vt`: scroll to put the main selection on the top line of the window
|
|
||||||
* `vb`: scroll to put the main selection on the bottom line of the window
|
|
||||||
* `vh`: scroll the window count columns left
|
|
||||||
* `vj`: scroll the window count line downward
|
|
||||||
* `vk`: scroll the window count line upward
|
|
||||||
* `vl`: scroll the window count columns right
|
|
||||||
|
|
||||||
Using `V` will lock view mode until `<esc>` is hit
|
|
||||||
|
|
||||||
Marks
|
Marks
|
||||||
~~~~~
|
~~~~~
|
||||||
@ -737,6 +712,8 @@ semicolon argument.
|
|||||||
String syntax and expansions
|
String syntax and expansions
|
||||||
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
|
||||||
|
|
||||||
|
Values, options and shell context can be interpolated in strings.
|
||||||
|
|
||||||
See <<doc/pages/expansions#,`:doc expansions`>>.
|
See <<doc/pages/expansions#,`:doc expansions`>>.
|
||||||
|
|
||||||
Configuration & Autoloading
|
Configuration & Autoloading
|
||||||
@ -774,6 +751,10 @@ precedence.
|
|||||||
Options
|
Options
|
||||||
-------
|
-------
|
||||||
|
|
||||||
|
Kakoune can store named and typed values that can be used both to
|
||||||
|
customize the core editor behaviour, and to keep data used by extension
|
||||||
|
scripts.
|
||||||
|
|
||||||
See <<doc/pages/options#,`:doc options`>>.
|
See <<doc/pages/options#,`:doc options`>>.
|
||||||
|
|
||||||
|
|
||||||
@ -783,11 +764,16 @@ Advanced topics
|
|||||||
Faces
|
Faces
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
|
Faces describe how characters are displayed on the screen: color, bold, italic...
|
||||||
|
|
||||||
See <<doc/pages/faces#,`:doc faces`>>.
|
See <<doc/pages/faces#,`:doc faces`>>.
|
||||||
|
|
||||||
Registers
|
Registers
|
||||||
~~~~~~~~~
|
~~~~~~~~~
|
||||||
|
|
||||||
|
Registers are named lists of text. They are used for various purposes,
|
||||||
|
like storing the last yanked text, or the captured groups associated with the selections.
|
||||||
|
|
||||||
See <<doc/pages/registers#,`:doc registers`>>.
|
See <<doc/pages/registers#,`:doc registers`>>.
|
||||||
|
|
||||||
Macros
|
Macros
|
||||||
@ -814,11 +800,17 @@ Kakoune trying to be smart.
|
|||||||
Regex syntax
|
Regex syntax
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Kakoune regex syntax is based on the ECMAScript syntax (ECMA-262 standard).
|
||||||
|
It always run on Unicode codepoint sequences, not on bytes.
|
||||||
|
|
||||||
See <<doc/pages/regex#,`:doc regex`>>.
|
See <<doc/pages/regex#,`:doc regex`>>.
|
||||||
|
|
||||||
Exec and Eval
|
Exec and Eval
|
||||||
~~~~~~~~~~~~~
|
~~~~~~~~~~~~~
|
||||||
|
|
||||||
|
The `execute-keys` and `evaluate-commands` are useful for scripting
|
||||||
|
in non interactive contexts.
|
||||||
|
|
||||||
See <<doc/pages/execeval#,`:doc execeval`>>.
|
See <<doc/pages/execeval#,`:doc execeval`>>.
|
||||||
|
|
||||||
Insert mode completion
|
Insert mode completion
|
||||||
@ -858,89 +850,35 @@ and entering back insert mode (with which binding ?)
|
|||||||
Highlighters
|
Highlighters
|
||||||
~~~~~~~~~~~~
|
~~~~~~~~~~~~
|
||||||
|
|
||||||
|
Manipulation of the displayed text, such as syntax coloration and wrapping
|
||||||
|
is done through highlighters.
|
||||||
|
|
||||||
See <<doc/pages/highlighters#,`:doc highlighters`>>.
|
See <<doc/pages/highlighters#,`:doc highlighters`>>.
|
||||||
|
|
||||||
Hooks
|
Hooks
|
||||||
~~~~~
|
~~~~~
|
||||||
|
|
||||||
|
Commands can be registered to be executed when certain events arise with hooks.
|
||||||
|
|
||||||
See <<doc/pages/hooks#,`:doc hooks`>>.
|
See <<doc/pages/hooks#,`:doc hooks`>>.
|
||||||
|
|
||||||
Key Mapping
|
Key Mapping
|
||||||
~~~~~~~~~~~
|
~~~~~~~~~~~
|
||||||
|
|
||||||
|
Custom key shortcuts can be registered through mappings.
|
||||||
|
|
||||||
See <<doc/pages/mapping#,`:doc mapping`>>.
|
See <<doc/pages/mapping#,`:doc mapping`>>.
|
||||||
|
|
||||||
Defining Commands
|
Defining Commands
|
||||||
~~~~~~~~~~~~~~~~~
|
~~~~~~~~~~~~~~~~~
|
||||||
|
|
||||||
New commands can be defined using the `:def` command.
|
New commands can be created using `:define-command`.
|
||||||
|
|
||||||
------------------------------
|
See <<doc/pages/commands#declaring-new-commands,`:doc commands`>>.
|
||||||
:def <command_name> <commands>
|
|
||||||
------------------------------
|
|
||||||
|
|
||||||
`<commands>` is a string containing the commands to execute.
|
Some helper commands are available to define composite commands.
|
||||||
|
|
||||||
`def` can also take some flags:
|
See <<doc/pages/commands#helpers,`:doc commands`>>.
|
||||||
|
|
||||||
* `-params <num>`: the command accept <num> parameters, with <num>
|
|
||||||
either a number, or of the form <min>..<max>, with both <min> and
|
|
||||||
<max> omittable.
|
|
||||||
* `-file-completion`: try file completion on any parameter passed
|
|
||||||
to this command
|
|
||||||
* `-client-completion`: try client name completion on any parameter
|
|
||||||
passed to this command
|
|
||||||
* `-buffer-completion`: try buffer name completion on any parameter
|
|
||||||
passed to this command
|
|
||||||
* `-command-completion`: try command completion on any parameter
|
|
||||||
passed to this command
|
|
||||||
* `-shell-completion`: following string is a shell command which takes
|
|
||||||
parameters as positional params and output one completion candidate
|
|
||||||
per line. The provided shell command will run after each keypress
|
|
||||||
* `-shell-candidates`: following string is a shell command which takes
|
|
||||||
parameters as positional params and output one completion candidate
|
|
||||||
per line. The provided shell command will run once at the beginning
|
|
||||||
of each completion session, candidates are cached and then used by
|
|
||||||
kakoune internal fuzzy engine
|
|
||||||
* `-allow-override`: allow the new command to replace an existing one
|
|
||||||
with the same name.
|
|
||||||
* `-hidden`: do not show the command in command name completions
|
|
||||||
* `-docstring`: define the documentation string for the command
|
|
||||||
|
|
||||||
Using shell expansion permits defining complex commands or accessing
|
|
||||||
Kakoune state:
|
|
||||||
|
|
||||||
------------------------------------------------------
|
|
||||||
:def print_selection %{ echo %sh{ ${kak_selection} } }
|
|
||||||
------------------------------------------------------
|
|
||||||
|
|
||||||
Some helper commands can be used to define composite commands:
|
|
||||||
|
|
||||||
* `prompt <prompt> <command>`: prompt the user for a string, when the user validates,
|
|
||||||
executes <command>. The entered text is available in the `text` value
|
|
||||||
accessible through `$kak_text` in shells or `%val{text}` in commands.
|
|
||||||
* `on-key <command>`: wait for next key from user, then execute <command>,
|
|
||||||
the key is available through the `key` value, accessible through `$kak_key`.
|
|
||||||
* `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
|
|
||||||
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>
|
|
||||||
from aborting the command 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>
|
|
||||||
* `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,profile-hash-maps,faces,mappings}`:
|
|
||||||
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.
|
|
||||||
|
|
||||||
Aliases
|
Aliases
|
||||||
~~~~~~~
|
~~~~~~~
|
||||||
|
Loading…
Reference in New Issue
Block a user