aboutsummaryrefslogtreecommitdiff
path: root/book/src
diff options
context:
space:
mode:
authorGokul Soumya2021-06-14 17:59:52 +0000
committerBenoƮt Cortier2021-06-15 04:20:22 +0000
commiteb77de6a51c053400e9759f6b55c620685b543fa (patch)
tree5862e23787d22b0243268c9a42f36da8a9a2a78a /book/src
parent05ed3e8fb85ea31207d901180544dc883e45a008 (diff)
Format docs for better readability
- Wrapped appropriate table elements in inline code blocks - Added links to different modes - Capitalised table elements
Diffstat (limited to 'book/src')
-rw-r--r--book/src/configuration.md106
-rw-r--r--book/src/keymap.md244
2 files changed, 176 insertions, 174 deletions
diff --git a/book/src/configuration.md b/book/src/configuration.md
index f11cebd4..363279f2 100644
--- a/book/src/configuration.md
+++ b/book/src/configuration.md
@@ -26,62 +26,62 @@ if the key contains a dot `'.'`, it must be quoted to prevent it being parsed as
Possible modifiers:
-| modifier |
-| --- |
-| bold |
-| dim |
-| italic |
-| underlined |
-| slow\_blink |
-| rapid\_blink |
-| reversed |
-| hidden |
-| crossed\_out |
+| Modifier |
+| --- |
+| `bold` |
+| `dim` |
+| `italic` |
+| `underlined` |
+| `slow\_blink` |
+| `rapid\_blink` |
+| `reversed` |
+| `hidden` |
+| `crossed\_out` |
Possible keys:
-| key | notes |
-| --- | --- |
-| attribute | |
-| keyword | |
-| keyword.directive | preprocessor directives (\#if in C) |
-| namespace | |
-| punctuation | |
-| punctuation.delimiter | |
-| operator | |
-| special | |
-| property | |
-| variable | |
-| variable.parameter | |
-| type | |
-| type.builtin | |
-| constructor | |
-| function | |
-| function.macro | |
-| function.builtin | |
-| comment | |
-| variable.builtin | |
-| constant | |
-| constant.builtin | |
-| string | |
-| number | |
-| escape | escaped characters |
-| label | used for lifetimes |
-| module | |
-| ui.background | |
-| ui.linenr | |
-| ui.statusline | |
-| ui.popup | |
-| ui.window | |
-| ui.help | |
-| ui.text | |
-| ui.text.focus | |
-| ui.menu.selected | |
-| ui.selection | for selections in the editing area |
-| warning | LSP warning |
-| error | LSP error |
-| info | LSP info |
-| hint | LSP hint |
+| Key | Notes |
+| --- | --- |
+| `attribute` | |
+| `keyword` | |
+| `keyword.directive` | Preprocessor directives (\#if in C) |
+| `namespace` | |
+| `punctuation` | |
+| `punctuation.delimiter` | |
+| `operator` | |
+| `special` | |
+| `property` | |
+| `variable` | |
+| `variable.parameter` | |
+| `type` | |
+| `type.builtin` | |
+| `constructor` | |
+| `function` | |
+| `function.macro` | |
+| `function.builtin` | |
+| `comment` | |
+| `variable.builtin` | |
+| `constant` | |
+| `constant.builtin` | |
+| `string` | |
+| `number` | |
+| `escape` | Escaped characters |
+| `label` | For lifetimes |
+| `module` | |
+| `ui.background` | |
+| `ui.linenr` | |
+| `ui.statusline` | |
+| `ui.popup` | |
+| `ui.window` | |
+| `ui.help` | |
+| `ui.text` | |
+| `ui.text.focus` | |
+| `ui.menu.selected` | |
+| `ui.selection` | For selections in the editing area |
+| `warning` | LSP warning |
+| `error` | LSP error |
+| `info` | LSP info |
+| `hint` | LSP hint |
These keys match [tree-sitter scopes](https://tree-sitter.github.io/tree-sitter/syntax-highlighting#theme). We half-follow the common scopes from [macromates language grammars](https://macromates.com/manual/en/language_grammars) with some differences.
diff --git a/book/src/keymap.md b/book/src/keymap.md
index 72bedbf3..aee4b3a4 100644
--- a/book/src/keymap.md
+++ b/book/src/keymap.md
@@ -4,100 +4,102 @@
### Movement
-| Key | Description |
-|-----|-----------|
-| h, Left | move left |
-| j, Down | move down |
-| k, Up | move up |
-| l, Right | move right |
-| w | move next word start |
-| b | move previous word start |
-| e | move next word end |
-| t | find 'till next char |
-| f | find next char |
-| T | find 'till previous char |
-| F | find previous char |
-| Home | move to the start of the line |
-| End | move to the end of the line |
-| m | Jump to matching bracket |
-| PageUp | Move page up |
-| PageDown | Move page down |
-| ctrl-u | Move half page up |
-| ctrl-d | Move half page down |
-| ctrl-i | Jump forward on the jumplist TODO: conflicts tab |
-| ctrl-o | Jump backward on the jumplist |
-| v | Enter select (extend) mode |
-| g | Enter goto mode |
-| : | Enter command mode |
-| z | Enter view mode |
-| ctrl-w | Enter window mode (maybe will be remove for spc w w later) |
-| space | Enter space mode |
-| K | Show documentation for the item under the cursor |
+> NOTE: `f`, `F`, `t` and `T` are not confined to the current line.
+
+| Key | Description |
+| ----- | ----------- |
+| `h`, `Left` | Move left |
+| `j`, `Down` | Move down |
+| `k`, `Up` | Move up |
+| `l`, `Right` | Move right |
+| `w` | Move next word start |
+| `b` | Move previous word start |
+| `e` | Move next word end |
+| `t` | Find 'till next char |
+| `f` | Find next char |
+| `T` | Find 'till previous char |
+| `F` | Find previous char |
+| `Home` | Move to the start of the line |
+| `End` | Move to the end of the line |
+| `m` | Jump to matching bracket |
+| `PageUp` | Move page up |
+| `PageDown` | Move page down |
+| `Ctrl-u` | Move half page up |
+| `Ctrl-d` | Move half page down |
+| `Ctrl-i` | Jump forward on the jumplist TODO: conflicts tab |
+| `Ctrl-o` | Jump backward on the jumplist |
+| `v` | Enter [select (extend) mode](#select--extend-mode) |
+| `g` | Enter [goto mode](#goto-mode) |
+| `:` | Enter command mode |
+| `z` | Enter [view mode](#view-mode) |
+| `Ctrl-w` | Enter [window mode](#window-mode) (maybe will be remove for spc w w later) |
+| `Space` | Enter [space mode](#space-mode) |
+| `K` | Show documentation for the item under the cursor |
### Changes
-| Key | Description |
-|-----|-----------|
-| r | replace with a character |
-| R | replace with yanked text |
-| i | Insert before selection |
-| a | Insert after selection (append) |
-| I | Insert at the start of the line |
-| A | Insert at the end of the line |
-| o | Open new line below selection |
-| o | Open new line above selection |
-| u | Undo change |
-| U | Redo change |
-| y | Yank selection |
-| p | Paste after selection |
-| P | Paste before selection |
-| > | Indent selection |
-| < | Unindent selection |
-| = | Format selection |
-| d | Delete selection |
-| c | Change selection (delete and enter insert mode) |
+| Key | Description |
+| ----- | ----------- |
+| `r` | Replace with a character |
+| `R` | Replace with yanked text |
+| `i` | Insert before selection |
+| `a` | Insert after selection (append) |
+| `I` | Insert at the start of the line |
+| `A` | Insert at the end of the line |
+| `o` | Open new line below selection |
+| `o` | Open new line above selection |
+| `u` | Undo change |
+| `U` | Redo change |
+| `y` | Yank selection |
+| `p` | Paste after selection |
+| `P` | Paste before selection |
+| `>` | Indent selection |
+| `<` | Unindent selection |
+| `=` | Format selection |
+| `d` | Delete selection |
+| `c` | Change selection (delete and enter insert mode) |
### Selection manipulation
-| Key | Description |
-|-----|-----------|
-| s | Select all regex matches inside selections |
-| S | Split selection into subselections on regex matches |
-| alt-s | Split selection on newlines |
-| ; | Collapse selection onto a single cursor |
-| alt-; | Flip selection cursor and anchor |
-| % | Select entire file |
-| x | Select current line |
-| X | Extend to next line |
-| [ | Expand selection to parent syntax node TODO: pick a key |
-| J | join lines inside selection |
-| K | keep selections matching the regex TODO: overlapped by hover help |
-| space | keep only the primary selection TODO: overlapped by space mode |
-| ctrl-c | Comment/uncomment the selections |
+| Key | Description |
+| ----- | ----------- |
+| `s` | Select all regex matches inside selections |
+| `S` | Split selection into subselections on regex matches |
+| `Alt-s` | Split selection on newlines |
+| `;` | Collapse selection onto a single cursor |
+| `Alt-;` | Flip selection cursor and anchor |
+| `%` | Select entire file |
+| `x` | Select current line |
+| `X` | Extend to next line |
+| `[` | Expand selection to parent syntax node TODO: pick a key |
+| `J` | join lines inside selection |
+| `K` | keep selections matching the regex TODO: overlapped by hover help |
+| `Space` | keep only the primary selection TODO: overlapped by space mode |
+| `Ctrl-c` | Comment/uncomment the selections |
### Search
> TODO: The search implementation isn't ideal yet -- we don't support searching
in reverse, or searching via smartcase.
-| Key | Description |
-|-----|-----------|
-| / | Search for regex pattern |
-| n | Select next search match |
-| N | Add next search match to selection |
-| * | Use current selection as the search pattern |
+| Key | Description |
+| ----- | ----------- |
+| `/` | Search for regex pattern |
+| `n` | Select next search match |
+| `N` | Add next search match to selection |
+| `*` | Use current selection as the search pattern |
### Diagnostics
> NOTE: `[` and `]` will likely contain more pair mappings in the style of
> [vim-unimpaired](https://github.com/tpope/vim-unimpaired)
-| Key | Description |
-|-----|-----------|
-| [d | Go to previous diagnostic |
-| ]d | Go to next diagnostic |
-| [D | Go to first diagnostic in document |
-| ]D | Go to last diagnostic in document |
+| Key | Description |
+| ----- | ----------- |
+| `[d` | Go to previous diagnostic |
+| `]d` | Go to next diagnostic |
+| `[D` | Go to first diagnostic in document |
+| `]D` | Go to last diagnostic in document |
## Select / extend mode
@@ -112,14 +114,14 @@ commands to extend the existing selection instead of replacing it.
View mode is intended for scrolling and manipulating the view without changing
the selection.
-| Key | Description |
-|-----|-----------|
-| z , c | Vertically center the line |
-| t | Align the line to the top of the screen |
-| b | Align the line to the bottom of the screen |
-| m | Align the line to the middle of the screen (horizontally) |
-| j | Scroll the view downwards |
-| k | Scroll the view upwards |
+| Key | Description |
+| ----- | ----------- |
+| `z` , `c` | Vertically center the line |
+| `t` | Align the line to the top of the screen |
+| `b` | Align the line to the bottom of the screen |
+| `m` | Align the line to the middle of the screen (horizontally) |
+| `j` | Scroll the view downwards |
+| `k` | Scroll the view upwards |
## Goto mode
@@ -127,21 +129,21 @@ Jumps to various locations.
> NOTE: Some of these features are only available with the LSP present.
-| Key | Description |
-|-----|-----------|
-| g | Go to the start of the file |
-| e | Go to the end of the file |
-| h | Go to the start of the line |
-| l | Go to the end of the line |
-| s | Go to first non-whitespace character of the line |
-| t | Go to the top of the screen |
-| m | Go to the middle of the screen |
-| b | Go to the bottom of the screen |
-| d | Go to definition |
-| y | Go to type definition |
-| r | Go to references |
-| i | Go to implementation |
-| a | Go to the last accessed/alternate file |
+| Key | Description |
+| ----- | ----------- |
+| `g` | Go to the start of the file |
+| `e` | Go to the end of the file |
+| `h` | Go to the start of the line |
+| `l` | Go to the end of the line |
+| `s` | Go to first non-whitespace character of the line |
+| `t` | Go to the top of the screen |
+| `m` | Go to the middle of the screen |
+| `b` | Go to the bottom of the screen |
+| `d` | Go to definition |
+| `y` | Go to type definition |
+| `r` | Go to references |
+| `i` | Go to implementation |
+| `a` | Go to the last accessed/alternate file |
## Object mode
@@ -151,35 +153,35 @@ TODO: Mappings for selecting syntax nodes (a superset of `[`).
This layer is similar to vim keybindings as kakoune does not support window.
-| Key | Description |
-|-----|-------------|
-| w, ctrl-w | Switch to next window |
-| v, ctrl-v | Vertical right split |
-| h, ctrl-h | Horizontal bottom split |
-| q, ctrl-q | Close current window |
+| Key | Description |
+| ----- | ------------- |
+| `w`, `ctrl-w` | Switch to next window |
+| `v`, `ctrl-v` | Vertical right split |
+| `h`, `ctrl-h` | Horizontal bottom split |
+| `q`, `ctrl-q` | Close current window |
## Space mode
This layer is a kludge of mappings I had under leader key in neovim.
-| Key | Description |
-|-----|-----------|
-| f | Open file picker |
-| b | Open buffer picker |
-| s | Open symbol picker (current document)|
-| w | Enter window mode |
-| space | Keep primary selection TODO: it's here because space mode replaced it |
+| Key | Description |
+| ----- | ----------- |
+| `f` | Open file picker |
+| `b` | Open buffer picker |
+| `s` | Open symbol picker (current document) |
+| `w` | Enter [window mode](#window-mode) |
+| `space` | Keep primary selection TODO: it's here because space mode replaced it |
# Picker
Keys to use within picker.
-| Key | Description |
-|-----|-------------|
-| up, ctrl-p | Previous entry |
-| down, ctrl-n | Next entry |
-| ctrl-space | Filter options |
-| enter | Open selected |
-| ctrl-h | Open horizontally |
-| ctrl-v | Open vertically |
-| escape, ctrl-c | Close picker |
+| Key | Description |
+| ----- | ------------- |
+| `Up`, `Ctrl-p` | Previous entry |
+| `Down`, `Ctrl-n` | Next entry |
+| `Ctrl-space` | Filter options |
+| `Enter` | Open selected |
+| `Ctrl-h` | Open horizontally |
+| `Ctrl-v` | Open vertically |
+| `Escape`, `ctrl-c` | Close picker |