summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMaxime Coste <mawww@kakoune.org>2017-11-08 22:58:18 +0800
committerMaxime Coste <mawww@kakoune.org>2017-11-08 22:58:18 +0800
commitfd584b3e6717c48e5bd42effb8a65d98a1f5124a (patch)
treeac5d737af22ea910713749b53029e9b4cc134955
parent3588369ad527589c8031fe3f5fb719b57f9500ad (diff)
parent4083d18812bc93ab85870522cee70158fa63e2f7 (diff)
Merge remote-tracking branch 'Delapouite/README'
-rw-r--r--README.asciidoc136
1 files changed, 37 insertions, 99 deletions
diff --git a/README.asciidoc b/README.asciidoc
index 306bf56b..4fdda10c 100644
--- a/README.asciidoc
+++ b/README.asciidoc
@@ -492,44 +492,19 @@ Changes
Goto Commands
~~~~~~~~~~~~~
-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
-
+Commands beginning with `g` are used to goto certain position and or buffer.
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.
+See <<doc/pages/keys#goto-commands,`:doc keys`>>.
+
View commands
~~~~~~~~~~~~~
-Some commands, all beginning with v permit to manipulate the current
-view.
-
- * `vv` or `vc`: center the main selection in the window (vertically)
- * `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
+Commands beginning with `v` permit to center or scroll the current
+view. Using `V` will lock view mode until `<esc>` is hit
-Using `V` will lock view mode until `<esc>` is hit
+See <<doc/pages/keys#view-commands,`:doc keys`>>.
Marks
~~~~~
@@ -737,6 +712,8 @@ semicolon argument.
String syntax and expansions
^^^^^^^^^^^^^^^^^^^^^^^^^^^^
+Values, options and shell context can be interpolated in strings.
+
See <<doc/pages/expansions#,`:doc expansions`>>.
Configuration & Autoloading
@@ -774,6 +751,10 @@ precedence.
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`>>.
@@ -783,11 +764,16 @@ Advanced topics
Faces
~~~~~
+Faces describe how characters are displayed on the screen: color, bold, italic...
+
See <<doc/pages/faces#,`:doc faces`>>.
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`>>.
Macros
@@ -814,11 +800,17 @@ Kakoune trying to be smart.
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`>>.
Exec and Eval
~~~~~~~~~~~~~
+The `execute-keys` and `evaluate-commands` are useful for scripting
+in non interactive contexts.
+
See <<doc/pages/execeval#,`:doc execeval`>>.
Insert mode completion
@@ -858,89 +850,35 @@ and entering back insert mode (with which binding ?)
Highlighters
~~~~~~~~~~~~
+Manipulation of the displayed text, such as syntax coloration and wrapping
+is done through highlighters.
+
See <<doc/pages/highlighters#,`:doc highlighters`>>.
Hooks
~~~~~
+Commands can be registered to be executed when certain events arise with hooks.
+
See <<doc/pages/hooks#,`:doc hooks`>>.
Key Mapping
~~~~~~~~~~~
+Custom key shortcuts can be registered through mappings.
+
See <<doc/pages/mapping#,`:doc mapping`>>.
Defining Commands
~~~~~~~~~~~~~~~~~
-New commands can be defined using the `:def` command.
-
-------------------------------
-:def <command_name> <commands>
-------------------------------
-
-`<commands>` is a string containing the commands to execute.
-
-`def` can also take some flags:
-
- * `-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.
+New commands can be created using `:define-command`.
+
+See <<doc/pages/commands#declaring-new-commands,`:doc commands`>>.
+
+Some helper commands are available to define composite commands.
+
+See <<doc/pages/commands#helpers,`:doc commands`>>.
Aliases
~~~~~~~