@ -190,130 +190,133 @@ it with:</p>
< pre > < code class = "language-toml" > " key.key" = " #ffffff"
< / code > < / pre >
< p > Possible modifiers:< / p >
< table > < thead > < tr > < th > m odifier< / th > < / tr > < / thead > < tbody >
< tr > < td > bold< / td > < / tr >
< tr > < td > dim< / td > < / tr >
< tr > < td > italic< / td > < / tr >
< tr > < td > underlined< / td > < / tr >
< tr > < td > slow_blink< / td > < / tr >
< tr > < td > rapid_blink< / td > < / tr >
< tr > < td > reversed< / td > < / tr >
< tr > < td > hidden< / td > < / tr >
< tr > < td > crossed_out< / td > < / tr >
< table > < thead > < tr > < th > M odifier< / th > < / tr > < / thead > < tbody >
< tr > < td > < code > bold< / code > < / td > < / tr >
< tr > < td > < code > dim< / code > < / td > < / tr >
< tr > < td > < code > italic< / code > < / td > < / tr >
< tr > < td > < code > underlined< / code > < / td > < / tr >
< tr > < td > < code > slow\ _blink< / code > < / td > < / tr >
< tr > < td > < code > rapid\ _blink< / code > < / td > < / tr >
< tr > < td > < code > reversed< / code > < / td > < / tr >
< tr > < td > < code > hidden< / code > < / td > < / tr >
< tr > < td > < code > crossed\ _out< / code > < / td > < / tr >
< / tbody > < / table >
< p > Possible keys:< / p >
< table > < thead > < tr > < th > key< / th > < th > n otes< / th > < / tr > < / thead > < tbody >
< tr > < td > attribute< / td > < td > < / td > < / tr >
< tr > < td > keyword< / td > < td > < / td > < / tr >
< tr > < td > keyword.directive< / td> < td > p reprocessor directives (#if in C)< / td > < / tr >
< tr > < td > namespace< / td > < td > < / td > < / tr >
< tr > < td > punctuation< / td > < td > < / td > < / tr >
< tr > < td > punctuation.delimiter< / td > < td > < / td > < / tr >
< tr > < td > operator< / td > < td > < / td > < / tr >
< tr > < td > special< / td > < td > < / td > < / tr >
< tr > < td > property< / td > < td > < / td > < / tr >
< tr > < td > variable< / td > < td > < / td > < / tr >
< tr > < td > variable.parameter< / td > < td > < / td > < / tr >
< tr > < td > type< / td > < td > < / td > < / tr >
< tr > < td > type.builtin< / td > < td > < / td > < / tr >
< tr > < td > constructor< / td > < td > < / td > < / tr >
< tr > < td > function< / td > < td > < / td > < / tr >
< tr > < td > function.macro< / td > < td > < / td > < / tr >
< tr > < td > function.builtin< / td > < td > < / td > < / tr >
< tr > < td > comment< / td > < td > < / td > < / tr >
< tr > < td > variable.builtin< / td > < td > < / td > < / tr >
< tr > < td > constant< / td > < td > < / td > < / tr >
< tr > < td > constant.builtin< / td > < td > < / td > < / tr >
< tr > < td > string< / td > < td > < / td > < / tr >
< tr > < td > number< / td > < td > < / td > < / tr >
< tr > < td > escape< / td> < td > e scaped characters< / td > < / tr >
< tr > < td > label< / td> < td > used f or lifetimes< / td > < / tr >
< tr > < td > module< / td > < td > < / td > < / tr >
< tr > < td > ui.background< / td > < td > < / td > < / tr >
< tr > < td > ui.linenr< / td > < td > < / td > < / tr >
< tr > < td > ui.statusline< / td > < td > < / td > < / tr >
< tr > < td > ui.popup< / td > < td > < / td > < / tr >
< tr > < td > ui.window< / td > < td > < / td > < / tr >
< tr > < td > ui.help< / td > < td > < / td > < / tr >
< tr > < td > ui.text< / td > < td > < / td > < / tr >
< tr > < td > ui.text.focus< / td > < td > < / td > < / tr >
< tr > < td > ui.menu.selected< / td > < td > < / td > < / tr >
< tr > < td > ui.selection< / td> < td > f or selections in the editing area< / td > < / tr >
< tr > < td > warning< / td > < td > LSP warning< / td > < / tr >
< tr > < td > error< / td > < td > LSP error< / td > < / tr >
< tr > < td > info< / td > < td > LSP info< / td > < / tr >
< tr > < td > hint< / td > < td > LSP hint< / td > < / tr >
< table > < thead > < tr > < th > Key< / th > < th > N otes< / th > < / tr > < / thead > < tbody >
< tr > < td > < code > attribute< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > keyword< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > keyword.directive< / code> < / td> < td > P reprocessor directives (#if in C)< / td > < / tr >
< tr > < td > < code > namespace< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > punctuation< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > punctuation.delimiter< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > operator< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > special< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > property< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > variable< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > variable.parameter< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > type< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > type.builtin< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > constructor< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > function< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > function.macro< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > function.builtin< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > comment< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > variable.builtin< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > constant< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > constant.builtin< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > string< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > number< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > escape< / code> < / td> < td > E scaped characters< / td > < / tr >
< tr > < td > < code > label< / code> < / td> < td > F or lifetimes< / td > < / tr >
< tr > < td > < code > module< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.background< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.linenr< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.statusline< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.popup< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.window< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.help< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.text< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.text.focus< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.menu.selected< / code > < / td > < td > < / td > < / tr >
< tr > < td > < code > ui.selection< / code> < / td> < td > F or selections in the editing area< / td > < / tr >
< tr > < td > < code > warning< / code > < / td > < td > LSP warning< / td > < / tr >
< tr > < td > < code > error< / code > < / td > < td > LSP error< / td > < / tr >
< tr > < td > < code > info< / code > < / td > < td > LSP info< / td > < / tr >
< tr > < td > < code > hint< / code > < / td > < td > LSP hint< / td > < / tr >
< / tbody > < / table >
< p > These keys match < a href = "https://tree-sitter.github.io/tree-sitter/syntax-highlighting#theme" > tree-sitter scopes< / a > . We half-follow the common scopes from < a href = "https://macromates.com/manual/en/language_grammars" > macromates language grammars< / a > with some differences.< / p >
< p > For a given highlight produced, styling will be determined based on the longest matching theme key. So it's enough to provide function to highlight < code > function.macro< / code > and < code > function.builtin< / code > as well, but you can use more specific scopes to highlight specific cases differently.< / p >
< div style = "break-before: page; page-break-before: always;" > < / div > < h1 id = "keymap" > < a class = "header" href = "#keymap" > Keymap< / a > < / h1 >
< h2 id = "normal-mode" > < a class = "header" href = "#normal-mode" > Normal mode< / a > < / h2 >
< h3 id = "movement" > < a class = "header" href = "#movement" > Movement< / a > < / h3 >
< blockquote >
< p > NOTE: < code > f< / code > , < code > F< / code > , < code > t< / code > and < code > T< / code > are not confined to the current line.< / p >
< / blockquote >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > h, Left< / td > < td > move left< / td > < / tr >
< tr > < td > j, Down< / td > < td > move down< / td > < / tr >
< tr > < td > k, Up< / td> < td > m ove up< / td > < / tr >
< tr > < td > l, Right< / td> < td > m ove right< / td > < / tr >
< tr > < td > w< / td> < td > m ove next word start< / td > < / tr >
< tr > < td > b< / td> < td > m ove previous word start< / td > < / tr >
< tr > < td > e< / td> < td > m ove next word end< / td > < / tr >
< tr > < td > t< / td> < td > f ind 'till next char< / td > < / tr >
< tr > < td > f< / td> < td > f ind next char< / td > < / tr >
< tr > < td > T< / td> < td > f ind 'till previous char< / td > < / tr >
< tr > < td > F< / td> < td > f ind previous char< / td > < / tr >
< tr > < td > Home< / td> < td > m ove to the start of the line< / td > < / tr >
< tr > < td > End< / td> < td > m ove to the end of the line< / td > < / tr >
< tr > < td > m< / td > < td > Jump to matching bracket< / td > < / tr >
< tr > < td > PageUp< / td > < td > Move page up< / td > < / tr >
< tr > < td > PageDown< / td > < td > Move page down< / td > < / tr >
< tr > < td > ctrl-u< / td > < td > Move half page up< / td > < / tr >
< tr > < td > ctrl-d< / td > < td > Move half page down< / td > < / tr >
< tr > < td > ctrl-i< / td > < td > Jump forward on the jumplist TODO: conflicts tab< / td > < / tr >
< tr > < td > ctrl-o< / td > < td > Jump backward on the jumplist< / td > < / tr >
< tr > < td > v< / td> < td > Enter select (extend) mode< / td > < / tr >
< tr > < td > g< / td> < td > Enter goto mode< / td > < / tr >
< tr > < td > :< / td > < td > Enter command mode< / td > < / tr >
< tr > < td > z< / td> < td > Enter view mode< / td > < / tr >
< tr > < td > ctrl-w< / td> < td > Enter window mode (maybe will be remove for spc w w later)< / td > < / tr >
< tr > < td > space < / td > < td > Enter space mode< / td > < / tr >
< tr > < td > K< / td > < td > Show documentation for the item under the cursor< / td > < / tr >
< tr > < td > < code > h< / code > , < code > Left< / code> < / td> < td > M ove left< / td > < / tr >
< tr > < td > < code > j< / code > , < code > Down< / code> < / td> < td > M ove down< / td > < / tr >
< tr > < td > < code > k< / code > , < code > Up< / code> < / td> < td > M ove up< / td > < / tr >
< tr > < td > < code > l< / code > , < code > Right< / code> < / td> < td > M ove right< / td > < / tr >
< tr > < td > < code > w< / code> < / td> < td > M ove next word start< / td > < / tr >
< tr > < td > < code > b< / code> < / td> < td > M ove previous word start< / td > < / tr >
< tr > < td > < code > e< / code> < / td> < td > M ove next word end< / td > < / tr >
< tr > < td > < code > t< / code> < / td> < td > F ind 'till next char< / td > < / tr >
< tr > < td > < code > f< / code> < / td> < td > F ind next char< / td > < / tr >
< tr > < td > < code > T< / code> < / td> < td > F ind 'till previous char< / td > < / tr >
< tr > < td > < code > F< / code> < / td> < td > F ind previous char< / td > < / tr >
< tr > < td > < code > Home< / code> < / td> < td > M ove to the start of the line< / td > < / tr >
< tr > < td > < code > End< / code> < / td> < td > M ove to the end of the line< / td > < / tr >
< tr > < td > < code > m< / code > < / td > < td > Jump to matching bracket< / td > < / tr >
< tr > < td > < code > PageUp< / code > < / td > < td > Move page up< / td > < / tr >
< tr > < td > < code > PageDown< / code > < / td > < td > Move page down< / td > < / tr >
< tr > < td > < code> C trl-u< / code > < / td > < td > Move half page up< / td > < / tr >
< tr > < td > < code> C trl-d< / code > < / td > < td > Move half page down< / td > < / tr >
< tr > < td > < code> C trl-i< / code > < / td > < td > Jump forward on the jumplist TODO: conflicts tab< / td > < / tr >
< tr > < td > < code> C trl-o< / code > < / td > < td > Jump backward on the jumplist< / td > < / tr >
< tr > < td > < code > v< / code> < / td> < td > Enter < a href = "keymap.html#select--extend-mode" > select (extend) mode< / a > < / td > < / tr >
< tr > < td > < code > g< / code> < / td> < td > Enter < a href = "keymap.html#goto-mode" > goto mode< / a > < / td > < / tr >
< tr > < td > < code > :< / code > < / td > < td > Enter command mode< / td > < / tr >
< tr > < td > < code > z< / code> < / td> < td > Enter < a href = "keymap.html#view-mode" > view mode< / a > < / td > < / tr >
< tr > < td > < code> C trl-w< / code> < / td> < td > Enter < a href = "keymap.html#window-mode" > window mode< / a > (maybe will be remove for spc w w later)< / td > < / tr >
< tr > < td > < code > Space< / code > < / td > < td > Enter < a href = "keymap.html#space-mode" > space mode< / a > < / td > < / tr >
< tr > < td > < code > K< / code > < / td > < td > Show documentation for the item under the cursor< / td > < / tr >
< / tbody > < / table >
< h3 id = "changes" > < a class = "header" href = "#changes" > Changes< / a > < / h3 >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > r< / td> < td > r eplace with a character< / td > < / tr >
< tr > < td > R< / td> < td > r eplace with yanked text< / td > < / tr >
< tr > < td > i< / td > < td > Insert before selection< / td > < / tr >
< tr > < td > a< / td > < td > Insert after selection (append)< / td > < / tr >
< tr > < td > I< / td > < td > Insert at the start of the line< / td > < / tr >
< tr > < td > A< / td > < td > Insert at the end of the line< / td > < / tr >
< tr > < td > o< / td > < td > Open new line below selection< / td > < / tr >
< tr > < td > o< / td > < td > Open new line above selection< / td > < / tr >
< tr > < td > u< / td > < td > Undo change< / td > < / tr >
< tr > < td > U< / td > < td > Redo change< / td > < / tr >
< tr > < td > y< / td > < td > Yank selection< / td > < / tr >
< tr > < td > p< / td > < td > Paste after selection< / td > < / tr >
< tr > < td > P< / td > < td > Paste before selection< / td > < / tr >
< tr > < td > > < / td > < td > Indent selection< / td > < / tr >
< tr > < td > < < / td > < td > Unindent selection< / td > < / tr >
< tr > < td > =< / td > < td > Format selection< / td > < / tr >
< tr > < td > d< / td > < td > Delete selection< / td > < / tr >
< tr > < td > c< / td > < td > Change selection (delete and enter insert mode)< / td > < / tr >
< tr > < td > < code > r< / code> < / td> < td > R eplace with a character< / td > < / tr >
< tr > < td > < code > R< / code> < / td> < td > R eplace with yanked text< / td > < / tr >
< tr > < td > < code > i< / code > < / td > < td > Insert before selection< / td > < / tr >
< tr > < td > < code > a< / code > < / td > < td > Insert after selection (append)< / td > < / tr >
< tr > < td > < code > I< / code > < / td > < td > Insert at the start of the line< / td > < / tr >
< tr > < td > < code > A< / code > < / td > < td > Insert at the end of the line< / td > < / tr >
< tr > < td > < c ode> o< / code > < / td > < td > Open new line below selection< / td > < / tr >
< tr > < td > < c ode> o< / code > < / td > < td > Open new line above selection< / td > < / tr >
< tr > < td > < code > u< / code > < / td > < td > Undo change< / td > < / tr >
< tr > < td > < code > U< / code > < / td > < td > Redo change< / td > < / tr >
< tr > < td > < code > y< / code > < / td > < td > Yank selection< / td > < / tr >
< tr > < td > < code > p< / code > < / td > < td > Paste after selection< / td > < / tr >
< tr > < td > < code > P< / code > < / td > < td > Paste before selection< / td > < / tr >
< tr > < td > < code > > < / code > < / td > < td > Indent selection< / td > < / tr >
< tr > < td > < code > < < / code > < / td > < td > Unindent selection< / td > < / tr >
< tr > < td > < code > =< / code > < / td > < td > Format selection< / td > < / tr >
< tr > < td > < co de> d< / code > < / td > < td > Delete selection< / td > < / tr >
< tr > < td > < code> c< / code > < / td > < td > Change selection (delete and enter insert mode)< / td > < / tr >
< / tbody > < / table >
< h3 id = "selection-manipulation" > < a class = "header" href = "#selection-manipulation" > Selection manipulation< / a > < / h3 >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > s< / td > < td > Select all regex matches inside selections< / td > < / tr >
< tr > < td > S< / td > < td > Split selection into subselections on regex matches< / td > < / tr >
< tr > < td > alt-s < / td > < td > Split selection on newlines< / td > < / tr >
< tr > < td > ;< / td > < td > Collapse selection onto a single cursor< / td > < / tr >
< tr > < td > alt-; < / td > < td > Flip selection cursor and anchor< / td > < / tr >
< tr > < td > %< / td > < td > Select entire file< / td > < / tr >
< tr > < td > x< / td > < td > Select current line< / td > < / tr >
< tr > < td > X< / td > < td > Extend to next line< / td > < / tr >
< tr > < td > [< / td > < td > Expand selection to parent syntax node TODO: pick a key< / td > < / tr >
< tr > < td > J< / td > < td > join lines inside selection< / td > < / tr >
< tr > < td > K< / td > < td > keep selections matching the regex TODO: overlapped by hover help< / td > < / tr >
< tr > < td > space < / td > < td > keep only the primary selection TODO: overlapped by space mode< / td > < / tr >
< tr > < td > ctrl-c< / td > < td > Comment/uncomment the selections< / td > < / tr >
< tr > < td > < code > s< / code > < / td > < td > Select all regex matches inside selections< / td > < / tr >
< tr > < td > < code > S< / code > < / td > < td > Split selection into subselections on regex matches< / td > < / tr >
< tr > < td > < code > Alt-s< / code > < / td > < td > Split selection on newlines< / td > < / tr >
< tr > < td > < code > ;< / code > < / td > < td > Collapse selection onto a single cursor< / td > < / tr >
< tr > < td > < code > Alt-;< / code > < / td > < td > Flip selection cursor and anchor< / td > < / tr >
< tr > < td > < code > %< / code > < / td > < td > Select entire file< / td > < / tr >
< tr > < td > < code > x< / code > < / td > < td > Select current line< / td > < / tr >
< tr > < td > < code > X< / code > < / td > < td > Extend to next line< / td > < / tr >
< tr > < td > < code > [< / code > < / td > < td > Expand selection to parent syntax node TODO: pick a key< / td > < / tr >
< tr > < td > < code > J< / code > < / td > < td > join lines inside selection< / td > < / tr >
< tr > < td > < code > K< / code > < / td > < td > keep selections matching the regex TODO: overlapped by hover help< / td > < / tr >
< tr > < td > < code > Space< / code > < / td > < td > keep only the primary selection TODO: overlapped by space mode< / td > < / tr >
< tr > < td > < code> C trl-c< / code > < / td > < td > Comment/uncomment the selections< / td > < / tr >
< / tbody > < / table >
< h3 id = "search" > < a class = "header" href = "#search" > Search< / a > < / h3 >
< blockquote >
@ -321,10 +324,10 @@ it with:</p>
in reverse, or searching via smartcase.< / p >
< / blockquote >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > /< / td > < td > Search for regex pattern< / td > < / tr >
< tr > < td > n< / td > < td > Select next search match< / td > < / tr >
< tr > < td > N< / td > < td > Add next search match to selection< / td > < / tr >
< tr > < td > *< / td > < td > Use current selection as the search pattern< / td > < / tr >
< tr > < td > < code > /< / code > < / td > < td > Search for regex pattern< / td > < / tr >
< tr > < td > < code > n< / code > < / td > < td > Select next search match< / td > < / tr >
< tr > < td > < code > N< / code > < / td > < td > Add next search match to selection< / td > < / tr >
< tr > < td > < code > *< / code > < / td > < td > Use current selection as the search pattern< / td > < / tr >
< / tbody > < / table >
< h3 id = "diagnostics" > < a class = "header" href = "#diagnostics" > Diagnostics< / a > < / h3 >
< blockquote >
@ -332,10 +335,10 @@ in reverse, or searching via smartcase.</p>
< a href = "https://github.com/tpope/vim-unimpaired" > vim-unimpaired< / a > < / p >
< / blockquote >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > [d< / td > < td > Go to previous diagnostic< / td > < / tr >
< tr > < td > ]d< / td > < td > Go to next diagnostic< / td > < / tr >
< tr > < td > [D< / td > < td > Go to first diagnostic in document< / td > < / tr >
< tr > < td > ]D< / td > < td > Go to last diagnostic in document< / td > < / tr >
< tr > < td > < code > [d< / code > < / td > < td > Go to previous diagnostic< / td > < / tr >
< tr > < td > < code > ]d< / code > < / td > < td > Go to next diagnostic< / td > < / tr >
< tr > < td > < code > [D< / code > < / td > < td > Go to first diagnostic in document< / td > < / tr >
< tr > < td > < code > ]D< / code > < / td > < td > Go to last diagnostic in document< / td > < / tr >
< / tbody > < / table >
< h2 id = "select--extend-mode" > < a class = "header" href = "#select--extend-mode" > Select / extend mode< / a > < / h2 >
< p > I'm still pondering whether to keep this mode or not. It changes movement
@ -348,12 +351,12 @@ implemented for all movement commands yet.</p>
< p > View mode is intended for scrolling and manipulating the view without changing
the selection.< / p >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > z , c< / td > < td > Vertically center the line< / td > < / tr >
< tr > < td > t< / td > < td > Align the line to the top of the screen< / td > < / tr >
< tr > < td > b< / td > < td > Align the line to the bottom of the screen< / td > < / tr >
< tr > < td > m< / td > < td > Align the line to the middle of the screen (horizontally)< / td > < / tr >
< tr > < td > j< / td > < td > Scroll the view downwards< / td > < / tr >
< tr > < td > k< / td > < td > Scroll the view upwards< / td > < / tr >
< tr > < td > < code > z< / code > , < code> c< / code > < / td > < td > Vertically center the line< / td > < / tr >
< tr > < td > < code > t< / code > < / td > < td > Align the line to the top of the screen< / td > < / tr >
< tr > < td > < code > b< / code > < / td > < td > Align the line to the bottom of the screen< / td > < / tr >
< tr > < td > < code > m< / code > < / td > < td > Align the line to the middle of the screen (horizontally)< / td > < / tr >
< tr > < td > < code > j< / code > < / td > < td > Scroll the view downwards< / td > < / tr >
< tr > < td > < code > k< / code > < / td > < td > Scroll the view upwards< / td > < / tr >
< / tbody > < / table >
< h2 id = "goto-mode" > < a class = "header" href = "#goto-mode" > Goto mode< / a > < / h2 >
< p > Jumps to various locations.< / p >
@ -361,49 +364,49 @@ the selection.</p>
< p > NOTE: Some of these features are only available with the LSP present.< / p >
< / blockquote >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > g< / td > < td > Go to the start of the file< / td > < / tr >
< tr > < td > e< / td > < td > Go to the end of the file< / td > < / tr >
< tr > < td > h< / td > < td > Go to the start of the line< / td > < / tr >
< tr > < td > l< / td > < td > Go to the end of the line< / td > < / tr >
< tr > < td > s< / td > < td > Go to first non-whitespace character of the line< / td > < / tr >
< tr > < td > t< / td > < td > Go to the top of the screen< / td > < / tr >
< tr > < td > m< / td > < td > Go to the middle of the screen< / td > < / tr >
< tr > < td > b< / td > < td > Go to the bottom of the screen< / td > < / tr >
< tr > < td > d< / td > < td > Go to definition< / td > < / tr >
< tr > < td > y< / td > < td > Go to type definition< / td > < / tr >
< tr > < td > r< / td > < td > Go to references< / td > < / tr >
< tr > < td > i< / td > < td > Go to implementation< / td > < / tr >
< tr > < td > a< / td > < td > Go to the last accessed/alternate file< / td > < / tr >
< tr > < td > < code > g< / code > < / td > < td > Go to the start of the file< / td > < / tr >
< tr > < td > < cod e> e< / code > < / td > < td > Go to the end of the file< / td > < / tr >
< tr > < td > < code > h< / code > < / td > < td > Go to the start of the line< / td > < / tr >
< tr > < td > < code > l< / code > < / td > < td > Go to the end of the line< / td > < / tr >
< tr > < td > < code > s< / code > < / td > < td > Go to first non-whitespace character of the line< / td > < / tr >
< tr > < td > < code > t< / code > < / td > < td > Go to the top of the screen< / td > < / tr >
< tr > < td > < code > m< / code > < / td > < td > Go to the middle of the screen< / td > < / tr >
< tr > < td > < code > b< / code > < / td > < td > Go to the bottom of the screen< / td > < / tr >
< tr > < td > < co de> d< / code > < / td > < td > Go to definition< / td > < / tr >
< tr > < td > < code > y< / code > < / td > < td > Go to type definition< / td > < / tr >
< tr > < td > < code > r< / code > < / td > < td > Go to references< / td > < / tr >
< tr > < td > < code > i< / code > < / td > < td > Go to implementation< / td > < / tr >
< tr > < td > < code > a< / code > < / td > < td > Go to the last accessed/alternate file< / td > < / tr >
< / tbody > < / table >
< h2 id = "object-mode" > < a class = "header" href = "#object-mode" > Object mode< / a > < / h2 >
< p > TODO: Mappings for selecting syntax nodes (a superset of < code > [< / code > ).< / p >
< h2 id = "window-mode" > < a class = "header" href = "#window-mode" > Window mode< / a > < / h2 >
< p > This layer is similar to vim keybindings as kakoune does not support window.< / p >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > w, ctrl-w< / td > < td > Switch to next window< / td > < / tr >
< tr > < td > v, ctrl-v< / td > < td > Vertical right split< / td > < / tr >
< tr > < td > h, ctrl-h< / td > < td > Horizontal bottom split< / td > < / tr >
< tr > < td > q, ctrl-q< / td > < td > Close current window< / td > < / tr >
< tr > < td > < code > w< / code > , < code > ctrl-w< / code > < / td > < td > Switch to next window< / td > < / tr >
< tr > < td > < code > v< / code > , < code > ctrl-v< / code > < / td > < td > Vertical right split< / td > < / tr >
< tr > < td > < code > h< / code > , < code > ctrl-h< / code > < / td > < td > Horizontal bottom split< / td > < / tr >
< tr > < td > < code > q< / code > , < code > ctrl-q< / code > < / td > < td > Close current window< / td > < / tr >
< / tbody > < / table >
< h2 id = "space-mode" > < a class = "header" href = "#space-mode" > Space mode< / a > < / h2 >
< p > This layer is a kludge of mappings I had under leader key in neovim.< / p >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > f< / td > < td > Open file picker< / td > < / tr >
< tr > < td > b< / td > < td > Open buffer picker< / td > < / tr >
< tr > < td > s< / td > < td > Open symbol picker (current document)< / td > < / tr >
< tr > < td > w< / td> < td > Enter window mode< / td > < / tr >
< tr > < td > space< / td > < td > Keep primary selection TODO: it's here because space mode replaced it< / td > < / tr >
< tr > < td > < code > f< / code > < / td > < td > Open file picker< / td > < / tr >
< tr > < td > < code > b< / code > < / td > < td > Open buffer picker< / td > < / tr >
< tr > < td > < code > s< / code > < / td > < td > Open symbol picker (current document)< / td > < / tr >
< tr > < td > < code > w< / code> < / td> < td > Enter < a href = "keymap.html#window-mode" > window mode< / a > < / td > < / tr >
< tr > < td > < code > space< / code > < / td > < td > Keep primary selection TODO: it's here because space mode replaced it< / td > < / tr >
< / tbody > < / table >
< h1 id = "picker" > < a class = "header" href = "#picker" > Picker< / a > < / h1 >
< p > Keys to use within picker.< / p >
< table > < thead > < tr > < th > Key< / th > < th > Description< / th > < / tr > < / thead > < tbody >
< tr > < td > up, ctrl-p < / td > < td > Previous entry< / td > < / tr >
< tr > < td > down, ctrl-n< / td > < td > Next entry< / td > < / tr >
< tr > < td > ctrl-space< / td > < td > Filter options< / td > < / tr >
< tr > < td > enter< / td > < td > Open selected< / td > < / tr >
< tr > < td > ctrl-h< / td > < td > Open horizontally< / td > < / tr >
< tr > < td > ctrl-v< / td > < td > Open vertically< / td > < / tr >
< tr > < td > escape, ctrl-c< / td > < td > Close picker< / td > < / tr >
< tr > < td > < code > Up< / code > , < code > Ctrl-p< / code > < / td > < td > Previous entry< / td > < / tr >
< tr > < td > < co de> D own< / code > , < code> C trl-n< / code > < / td > < td > Next entry< / td > < / tr >
< tr > < td > < code> C trl-space< / code > < / td > < td > Filter options< / td > < / tr >
< tr > < td > < cod e> E nter< / code > < / td > < td > Open selected< / td > < / tr >
< tr > < td > < code> C trl-h< / code > < / td > < td > Open horizontally< / td > < / tr >
< tr > < td > < code> C trl-v< / code > < / td > < td > Open vertically< / td > < / tr >
< tr > < td > < cod e> E scape< / code > , < code > ctrl-c< / code > < / td > < td > Close picker< / td > < / tr >
< / tbody > < / table >
< div style = "break-before: page; page-break-before: always;" > < / div > < h1 id = "hooks" > < a class = "header" href = "#hooks" > Hooks< / a > < / h1 >