From 93554256da4bbc126a591d2a725e5277d3d13d56 Mon Sep 17 00:00:00 2001 From: omentic Date: Wed, 1 May 2024 23:55:53 +0000 Subject: deploy: cd15f3d346196db5c0c7623b6c7cafcf350119ad --- 24.03.1/keymap.html | 666 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 666 insertions(+) create mode 100644 24.03.1/keymap.html (limited to '24.03.1/keymap.html') diff --git a/24.03.1/keymap.html b/24.03.1/keymap.html new file mode 100644 index 00000000..828eeb94 --- /dev/null +++ b/24.03.1/keymap.html @@ -0,0 +1,666 @@ + + + + + + Keymap + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
+ + + + + + + + + + + + + + + + + + + +
+ +
+ + + + + + + + +
+
+

Keymap

+ +
+

💡 Mappings marked (LSP) require an active language server for the file.

+
+
+

💡 Mappings marked (TS) require a tree-sitter grammar for the file type.

+
+

Normal mode

+

Normal mode is the default mode when you launch helix. You can return to it from other modes by pressing the Escape key.

+

Movement

+
+

NOTE: Unlike Vim, f, F, t and T are not confined to the current line.

+
+
+ + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
h, LeftMove leftmove_char_left
j, DownMove downmove_visual_line_down
k, UpMove upmove_visual_line_up
l, RightMove rightmove_char_right
wMove next word startmove_next_word_start
bMove previous word startmove_prev_word_start
eMove next word endmove_next_word_end
WMove next WORD startmove_next_long_word_start
BMove previous WORD startmove_prev_long_word_start
EMove next WORD endmove_next_long_word_end
tFind 'till next charfind_till_char
fFind next charfind_next_char
TFind 'till previous chartill_prev_char
FFind previous charfind_prev_char
GGo to line number <n>goto_line
Alt-.Repeat last motion (f, t, m, [ or ])repeat_last_motion
HomeMove to the start of the linegoto_line_start
EndMove to the end of the linegoto_line_end
Ctrl-b, PageUpMove page uppage_up
Ctrl-f, PageDownMove page downpage_down
Ctrl-uMove cursor and page half page uppage_cursor_half_up
Ctrl-dMove cursor and page half page downpage_cursor_half_down
Ctrl-iJump forward on the jumplistjump_forward
Ctrl-oJump backward on the jumplistjump_backward
Ctrl-sSave the current selection to the jumplistsave_selection
+
+

Changes

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
rReplace with a characterreplace
RReplace with yanked textreplace_with_yanked
~Switch case of the selected textswitch_case
`Set the selected text to lower caseswitch_to_lowercase
Alt-`Set the selected text to upper caseswitch_to_uppercase
iInsert before selectioninsert_mode
aInsert after selection (append)append_mode
IInsert at the start of the lineinsert_at_line_start
AInsert at the end of the lineinsert_at_line_end
\Insert digraphsinsert_digraph
oOpen new line below selectionopen_below
OOpen new line above selectionopen_above
.Repeat last insertN/A
uUndo changeundo
URedo changeredo
Alt-uMove backward in historyearlier
Alt-UMove forward in historylater
yYank selectionyank
pPaste after selectionpaste_after
PPaste before selectionpaste_before
" <reg>Select a register to yank to or paste fromselect_register
>Indent selectionindent
<Unindent selectionunindent
=Format selection (currently nonfunctional/disabled) (LSP)format_selections
dDelete selectiondelete_selection
Alt-dDelete selection, without yankingdelete_selection_noyank
cChange selection (delete and enter insert mode)change_selection
Alt-cChange selection (delete and enter insert mode, without yanking)change_selection_noyank
Ctrl-aIncrement object (number) under cursorincrement
Ctrl-xDecrement object (number) under cursordecrement
QStart/stop macro recording to the selected register (experimental)record_macro
qPlay back a recorded macro from the selected register (experimental)replay_macro
+
+

Shell

+
+ + + + + +
KeyDescriptionCommand
|Pipe each selection through shell command, replacing with outputshell_pipe
Alt-|Pipe each selection into shell command, ignoring outputshell_pipe_to
!Run shell command, inserting output before each selectionshell_insert_output
Alt-!Run shell command, appending output after each selectionshell_append_output
$Pipe each selection into shell command, keep selections where command returned 0shell_keep_pipe
+
+

Selection manipulation

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
sSelect all regex matches inside selectionsselect_regex
SSplit selection into sub selections on regex matchessplit_selection
Alt-sSplit selection on newlinessplit_selection_on_newline
Alt-minusMerge selectionsmerge_selections
Alt-_Merge consecutive selectionsmerge_consecutive_selections
&Align selection in columnsalign_selections
_Trim whitespace from the selectiontrim_selections
;Collapse selection onto a single cursorcollapse_selection
Alt-;Flip selection cursor and anchorflip_selections
Alt-:Ensures the selection is in forward directionensure_selections_forward
,Keep only the primary selectionkeep_primary_selection
Alt-,Remove the primary selectionremove_primary_selection
CCopy selection onto the next line (Add cursor below)copy_selection_on_next_line
Alt-CCopy selection onto the previous line (Add cursor above)copy_selection_on_prev_line
(Rotate main selection backwardrotate_selections_backward
)Rotate main selection forwardrotate_selections_forward
Alt-(Rotate selection contents backwardrotate_selection_contents_backward
Alt-)Rotate selection contents forwardrotate_selection_contents_forward
%Select entire fileselect_all
xSelect current line, if already selected, extend to next lineextend_line_below
XExtend selection to line bounds (line-wise selection)extend_to_line_bounds
Alt-xShrink selection to line bounds (line-wise selection)shrink_to_line_bounds
JJoin lines inside selectionjoin_selections
Alt-JJoin lines inside selection and select the inserted spacejoin_selections_space
KKeep selections matching the regexkeep_selections
Alt-KRemove selections matching the regexremove_selections
Ctrl-cComment/uncomment the selectionstoggle_comments
Alt-o, Alt-upExpand selection to parent syntax node (TS)expand_selection
Alt-i, Alt-downShrink syntax tree object selection (TS)shrink_selection
Alt-p, Alt-leftSelect previous sibling node in syntax tree (TS)select_prev_sibling
Alt-n, Alt-rightSelect next sibling node in syntax tree (TS)select_next_sibling
+
+ +

Search commands all operate on the / register by default. To use a different register, use "<char>.

+
+ + + + + +
KeyDescriptionCommand
/Search for regex patternsearch
?Search for previous patternrsearch
nSelect next search matchsearch_next
NSelect previous search matchsearch_prev
*Use current selection as the search patternsearch_selection
+
+

Minor modes

+

These sub-modes are accessible from normal mode and typically switch back to normal mode after a command.

+
+ + + + + + + + +
KeyDescriptionCommand
vEnter select (extend) modeselect_mode
gEnter goto modeN/A
mEnter match modeN/A
:Enter command modecommand_mode
zEnter view modeN/A
ZEnter sticky view modeN/A
Ctrl-wEnter window modeN/A
SpaceEnter space modeN/A
+
+

These modes (except command mode) can be configured by +remapping keys.

+

View mode

+

Accessed by typing z in normal mode.

+

View mode is intended for scrolling and manipulating the view without changing +the selection. The "sticky" variant of this mode (accessed by typing Z in +normal mode) is persistent and can be exited using the escape key. This is +useful when you're simply looking over text and not actively editing it.

+
+ + + + + + + + + + +
KeyDescriptionCommand
z, cVertically center the linealign_view_center
tAlign the line to the top of the screenalign_view_top
bAlign the line to the bottom of the screenalign_view_bottom
mAlign the line to the middle of the screen (horizontally)align_view_middle
j, downScroll the view downwardsscroll_down
k, upScroll the view upwardsscroll_up
Ctrl-f, PageDownMove page downpage_down
Ctrl-b, PageUpMove page uppage_up
Ctrl-uMove cursor and page half page uppage_cursor_half_up
Ctrl-dMove cursor and page half page downpage_cursor_half_down
+
+

Goto mode

+

Accessed by typing g in normal mode.

+

Jumps to various locations.

+
+ + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
gGo to line number <n> else start of filegoto_file_start
eGo to the end of the filegoto_last_line
fGo to files in the selectionsgoto_file
hGo to the start of the linegoto_line_start
lGo to the end of the linegoto_line_end
sGo to first non-whitespace character of the linegoto_first_nonwhitespace
tGo to the top of the screengoto_window_top
cGo to the middle of the screengoto_window_center
bGo to the bottom of the screengoto_window_bottom
dGo to definition (LSP)goto_definition
yGo to type definition (LSP)goto_type_definition
rGo to references (LSP)goto_reference
iGo to implementation (LSP)goto_implementation
aGo to the last accessed/alternate filegoto_last_accessed_file
mGo to the last modified/alternate filegoto_last_modified_file
nGo to next buffergoto_next_buffer
pGo to previous buffergoto_previous_buffer
.Go to last modification in current filegoto_last_modification
jMove down textual (instead of visual) linemove_line_down
kMove up textual (instead of visual) linemove_line_up
wShow labels at each word and select the word that belongs to the entered labelsgoto_word
+
+

Match mode

+

Accessed by typing m in normal mode.

+

See the relevant section in Usage for an explanation about +surround and textobject usage.

+
+ + + + + + +
KeyDescriptionCommand
mGoto matching bracket (TS)match_brackets
s <char>Surround current selection with <char>surround_add
r <from><to>Replace surround character <from> with <to>surround_replace
d <char>Delete surround character <char>surround_delete
a <object>Select around textobjectselect_textobject_around
i <object>Select inside textobjectselect_textobject_inner
+
+

TODO: Mappings for selecting syntax nodes (a superset of [).

+

Window mode

+

Accessed by typing Ctrl-w in normal mode.

+

This layer is similar to Vim keybindings as Kakoune does not support windows.

+
+ + + + + + + + + + + + + + + +
KeyDescriptionCommand
w, Ctrl-wSwitch to next windowrotate_view
v, Ctrl-vVertical right splitvsplit
s, Ctrl-sHorizontal bottom splithsplit
fGo to files in the selections in horizontal splitsgoto_file
FGo to files in the selections in vertical splitsgoto_file
h, Ctrl-h, LeftMove to left splitjump_view_left
j, Ctrl-j, DownMove to split belowjump_view_down
k, Ctrl-k, UpMove to split abovejump_view_up
l, Ctrl-l, RightMove to right splitjump_view_right
q, Ctrl-qClose current windowwclose
o, Ctrl-oOnly keep the current window, closing all the otherswonly
HSwap window to the leftswap_view_left
JSwap window downwardsswap_view_down
KSwap window upwardsswap_view_up
LSwap window to the rightswap_view_right
+
+

Space mode

+

Accessed by typing Space in normal mode.

+

This layer is a kludge of mappings, mostly pickers.

+
+ + + + + + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
fOpen file pickerfile_picker
FOpen file picker at current working directoryfile_picker_in_current_directory
bOpen buffer pickerbuffer_picker
jOpen jumplist pickerjumplist_picker
gDebug (experimental)N/A
kShow documentation for item under cursor in a popup (LSP)hover
sOpen document symbol picker (LSP)symbol_picker
SOpen workspace symbol picker (LSP)workspace_symbol_picker
dOpen document diagnostics picker (LSP)diagnostics_picker
DOpen workspace diagnostics picker (LSP)workspace_diagnostics_picker
rRename symbol (LSP)rename_symbol
aApply code action (LSP)code_action
hSelect symbol references (LSP)select_references_to_symbol_under_cursor
'Open last fuzzy pickerlast_picker
wEnter window modeN/A
cComment/uncomment selectionstoggle_comments
CBlock comment/uncomment selectionstoggle_block_comments
Alt-cLine comment/uncomment selectionstoggle_line_comments
pPaste system clipboard after selectionspaste_clipboard_after
PPaste system clipboard before selectionspaste_clipboard_before
yYank selections to clipboardyank_to_clipboard
YYank main selection to clipboardyank_main_selection_to_clipboard
RReplace selections by clipboard contentsreplace_selections_with_clipboard
/Global search in workspace folderglobal_search
?Open command palettecommand_palette
eReveal current file in explorerreveal_current_file
+
+
+

💡 Global search displays results in a fuzzy picker, use Space + ' to bring it back up after opening a file.

+
+ +

Displays documentation for item under cursor.

+
+ + +
KeyDescription
Ctrl-uScroll up
Ctrl-dScroll down
+
+

Unimpaired

+

These mappings are in the style of vim-unimpaired.

+
+ + + + + + + + + + + + + + + + + + + + + + +
KeyDescriptionCommand
]dGo to next diagnostic (LSP)goto_next_diag
[dGo to previous diagnostic (LSP)goto_prev_diag
]DGo to last diagnostic in document (LSP)goto_last_diag
[DGo to first diagnostic in document (LSP)goto_first_diag
]fGo to next function (TS)goto_next_function
[fGo to previous function (TS)goto_prev_function
]tGo to next type definition (TS)goto_next_class
[tGo to previous type definition (TS)goto_prev_class
]aGo to next argument/parameter (TS)goto_next_parameter
[aGo to previous argument/parameter (TS)goto_prev_parameter
]cGo to next comment (TS)goto_next_comment
[cGo to previous comment (TS)goto_prev_comment
]TGo to next test (TS)goto_next_test
[TGo to previous test (TS)goto_prev_test
]pGo to next paragraphgoto_next_paragraph
[pGo to previous paragraphgoto_prev_paragraph
]gGo to next changegoto_next_change
[gGo to previous changegoto_prev_change
]GGo to last changegoto_last_change
[GGo to first changegoto_first_change
]SpaceAdd newline belowadd_newline_below
[SpaceAdd newline aboveadd_newline_above
+
+

Insert mode

+

Accessed by typing i in normal mode.

+

Insert mode bindings are minimal by default. Helix is designed to +be a modal editor, and this is reflected in the user experience and internal +mechanics. Changes to the text are only saved for undos when +escaping from insert mode to normal mode.

+
+

💡 New users are strongly encouraged to learn the modal editing paradigm +to get the smoothest experience.

+
+
+ + + + + + + + + + + +
KeyDescriptionCommand
EscapeSwitch to normal modenormal_mode
Ctrl-sCommit undo checkpointcommit_undo_checkpoint
Ctrl-xAutocompletecompletion
Ctrl-rInsert a register contentinsert_register
Ctrl-w, Alt-BackspaceDelete previous worddelete_word_backward
Alt-d, Alt-DeleteDelete next worddelete_word_forward
Ctrl-uDelete to start of linekill_to_line_start
Ctrl-kDelete to end of linekill_to_line_end
Ctrl-h, Backspace, Shift-BackspaceDelete previous chardelete_char_backward
Ctrl-d, DeleteDelete next chardelete_char_forward
Ctrl-j, EnterInsert new lineinsert_newline
+
+

These keys are not recommended, but are included for new users less familiar +with modal editors.

+
+ + + + + + + + +
KeyDescriptionCommand
UpMove to previous linemove_line_up
DownMove to next linemove_line_down
LeftBackward a charmove_char_left
RightForward a charmove_char_right
PageUpMove one page uppage_up
PageDownMove one page downpage_down
HomeMove to line startgoto_line_start
EndMove to line endgoto_line_end_newline
+
+

As you become more comfortable with modal editing, you may want to disable some +insert mode bindings. You can do this by editing your config.toml file.

+
[keys.insert]
+up = "no_op"
+down = "no_op"
+left = "no_op"
+right = "no_op"
+pageup = "no_op"
+pagedown = "no_op"
+home = "no_op"
+end = "no_op"
+
+

Select / extend mode

+

Accessed by typing v in normal mode.

+

Select mode echoes Normal mode, but changes any movements to extend +selections rather than replace them. Goto motions are also changed to +extend, so that vgl, for example, extends the selection to the end of +the line.

+

Search is also affected. By default, n and N will remove the current +selection and select the next instance of the search term. Toggling this +mode before pressing n or N makes it possible to keep the current +selection. Toggling it on and off during your iterative searching allows +you to selectively add search terms to your selections.

+

Picker

+

Keys to use within picker. Remapping currently not supported.

+
+ + + + + + + + + + + + +
KeyDescription
Shift-Tab, Up, Ctrl-pPrevious entry
Tab, Down, Ctrl-nNext entry
PageUp, Ctrl-uPage up
PageDown, Ctrl-dPage down
HomeGo to first entry
EndGo to last entry
EnterOpen selected
Alt-EnterOpen selected in the background without closing the picker
Ctrl-sOpen horizontally
Ctrl-vOpen vertically
Ctrl-tToggle preview
Escape, Ctrl-cClose picker
+
+

Prompt

+

Keys to use within prompt, Remapping currently not supported.

+
+ + + + + + + + + + + + + + + + + + + + +
KeyDescription
Escape, Ctrl-cClose prompt
Alt-b, Ctrl-LeftBackward a word
Ctrl-b, LeftBackward a char
Alt-f, Ctrl-RightForward a word
Ctrl-f, RightForward a char
Ctrl-e, EndMove prompt end
Ctrl-a, HomeMove prompt start
Ctrl-w, Alt-Backspace, Ctrl-BackspaceDelete previous word
Alt-d, Alt-Delete, Ctrl-DeleteDelete next word
Ctrl-uDelete to start of line
Ctrl-kDelete to end of line
Backspace, Ctrl-h, Shift-BackspaceDelete previous char
Delete, Ctrl-dDelete next char
Ctrl-sInsert a word under doc cursor, may be changed to Ctrl-r Ctrl-w later
Ctrl-p, UpSelect previous history
Ctrl-n, DownSelect next history
Ctrl-rInsert the content of the register selected by following input char
TabSelect next completion item
BackTabSelect previous completion item
EnterOpen selected
+
+

File explorer

+

Press ? to see keymaps. Remapping currently not supported.

+ +
+ + +
+
+ + + +
+ + + + + + + + + + + + + + + + + + +
+ + -- cgit v1.2.3-70-g09d2