aboutsummaryrefslogtreecommitdiff
path: root/book/src/keymap.md
diff options
context:
space:
mode:
Diffstat (limited to 'book/src/keymap.md')
-rw-r--r--book/src/keymap.md244
1 files changed, 123 insertions, 121 deletions
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 |