Helix Keyboard Shortcuts
Edit code directly from your terminal.
⌘K
230 shortcuts / 13 sections
Movement
31Move left
HH
Move left
←Left Arrow
Move down
JJ
Move down
↓Down Arrow
Move up
KK
Move up
↑Up Arrow
Move right
LL
Move right
→Right Arrow
Move next word start
WW
Move previous word start
BB
Move next word end
EE
Move next WORD start
⇧WShift W
Move previous WORD start
⇧BShift B
Move next WORD end
⇧EShift E
Find 'till next char
TT
Find next char
FF
Find 'till previous char
⇧TShift T
Find previous char
⇧FShift F
Go to line number <n>
⇧GShift G
Repeat last motion (f, t or m)
⌥.Option .
Move to the start of the line
HomeHome
Move to the end of the line
EndEnd
Move page up
⌃BControl B
Move page up
PgUpPage Up
Move page down
⌃FControl F
Move page down
PgDnPage Down
Move half page up
⌃UControl U
Move half page down
⌃DControl D
Jump forward on the jumplist
⌃IControl I
Jump backward on the jumplist
⌃OControl O
Save the current selection to the jumplist
⌃SControl S
Changes
31Replace with a character
RR
Replace with yanked text
⇧RShift R
Switch case of the selected text
⇧`Shift `
Set the selected text to lower case
``
Set the selected text to upper case
⌥`Option `
Insert before selection
II
Insert after selection (append)
AA
Insert at the start of the line
⇧IShift I
Insert at the end of the line
⇧AShift A
Open new line below selection
OO
Open new line above selection
⇧OShift O
Repeat last insert
..
Undo change
UU
Redo change
⇧UShift U
Move backward in history
⌥UOption U
Move forward in history
⇧⌥UShift Option U
Yank selection
YY
Paste after selection
PP
Paste before selection
⇧PShift P
Select a register to yank to or paste from
<reg>
Indent selection
⇧.Shift .
Unindent selection
⇧,Shift ,
Format selection (currently disabled) (LSP)
==
delete selection
DD
delete selection, without yanking
⌥DOption D
Change selection (delete and enter insert mode)
CC
Change select - del and to insert mod without yank
⌥COption C
Increment object (number) under cursor
⌃AControl A
Decrement object (number) under cursor
⌃XControl X
Start/stop macro record to selected register
⇧QShift Q
Play back a recorded macro from selected register
QQ
Changes - Shell
5Pipe each select through shell cmd replac with out
⇧\Shift \
Pipe each select into shell command ignore output
⇧⌥\Shift Option \
Run shell cmd, insert output before each selection
⇧1Shift 1
Run shell cmd, append output after each selection
⇧⌥1Shift Option 1
Pipe all select to shl cmd keep select cmd retur 0
⇧4Shift 4
Selection-manipulation
35Select all regex matches inside selections
SS
Split select into sub selections on regex matches
⇧SShift S
Split selection on newlines
⌥SOption S
Merge selections
⌥-Option -
Merge consecutive selections
⇧⌥-Shift Option -
Align selection in columns
⇧7Shift 7
Trim whitespace from the selection
⇧-Shift -
Collapse selection onto a single cursor
;;
Flip selection cursor and anchor
⌥;Option ;
Ensures the selection is in forward direction
⇧⌥;Shift Option ;
Keep only the primary selection
,,
Remove the primary selection
⌥,Option ,
Copy select onto the next line (Add cursor below)
⇧CShift C
Copy select to the previous line Add cursor above
⇧⌥CShift Option C
Rotate main selection backward
⇧9Shift 9
Rotate main selection forward
⇧0Shift 0
Rotate selection contents backward
⇧⌥9Shift Option 9
Rotate selection contents forward
⇧⌥0Shift Option 0
Select entire file
⇧5Shift 5
Select current line if selected extend next line
XX
Extend select to line bounds (line-wise selection)
⇧XShift X
Shrink select to line bounds (line-wise selection)
⌥XOption X
Join lines inside selection
⇧JShift J
Join lines inside select and select inserted space
⇧⌥JShift Option J
Keep selections matching the regex
⇧KShift K
Remove selections matching the regex
⇧⌥KShift Option K
Comment/uncomment the selections
⌃CControl C
Expand selection to parent syntax node (TS)
⌥OOption O
Expand selection to parent syntax node (TS)
⌥↑Option Up Arrow
Shrink syntax tree object selection (TS)
⌥IOption I
Shrink syntax tree object selection (TS)
⌥↓Option Down Arrow
Select previous sibling node in syntax tree (TS)
⌥POption P
Select previous sibling node in syntax tree (TS)
⌥←Option Left Arrow
Select next sibling node in syntax tree (TS)
⌥NOption N
Select next sibling node in syntax tree (TS)
⌥→Option Right Arrow
Search
5Search for regex pattern
//
Search for previous pattern
⇧/Shift /
Select next search match
NN
Select previous search match
⇧NShift N
Use current selection as the search pattern
⇧8Shift 8
Minor
8enter select (extend) mode
VV
enter goto mode
GG
enter match mode
MM
enter command mode
⇧;Shift ;
enter view mode
ZZ
enter sticky view mode
⇧ZShift Z
enter window mode
⌃WControl W
enter space mode
SpaceSpace
Minor - View
15Vertically center the line
ZZ
Vertically center the line
CC
Align the line to the top of the screen
TT
Align the line to the bottom of the screen
BB
Align line to middle of the screen (horizontally)
MM
Scroll the view downwards
JJ
Scroll the view downwards
↓Down Arrow
Scroll the view upwards
KK
Scroll the view upwards
↑Up Arrow
Move page down
⌃FControl F
Move page down
PgDnPage Down
Move page up
⌃BControl B
Move page up
PgUpPage Up
Move half page down
⌃DControl D
Move half page up
⌃UControl U
Minor - Goto
20Go to line number <n> else start of file
GG
Go to the end of the file
EE
Go to files in the selection
FF
Go to the start of the line
HH
Go to the end of the line
LL
Go to first non-whitespace character of the line
SS
Go to the top of the screen
TT
Go to the middle of the screen
CC
Go to the bottom of the screen
BB
Go to definition (LSP)
DD
Go to type definition (LSP)
YY
Go to references (LSP)
RR
Go to implementation (LSP)
II
Go to the last accessed/alternate file
AA
Go to the last modified/alternate file
MM
Go to next buffer
NN
Go to previous buffer
PP
Go to last modification in current file
..
Move down textual (instead of visual) line
JJ
Move up textual (instead of visual) line
KK
Minor - Match
6Goto matching bracket (TS)
MM
Surround current selection with <char>
s <char>
Replace surround character <from> with <to>
r <from><to>
delete surround character <char>
d <char>
Select around textobject
a <object>
Select inside textobject
i <object>
Minor - Window
28Switch to next window
WW
Switch to next window
⌃WControl W
Vertical right split
VV
Vertical right split
⌃VControl V
Horizontal bottom split
SS
Horizontal bottom split
⌃SControl S
Go to files in the selection in horizontal splits
FF
Go to files in the selection in vertical splits
⇧FShift F
Move to left split
HH
Move to left split
⌃HControl H
Move to left split
←Left Arrow
Move to split below
JJ
Move to split below
⌃JControl J
Move to split below
↓Down Arrow
Move to split above
KK
Move to split above
⌃KControl K
Move to split above
↑Up Arrow
Move to right split
LL
Move to right split
⌃LControl L
Move to right split
→Right Arrow
Close current window
QQ
Close current window
⌃QControl Q
Only keep current window, closing all the others
OO
Only keep current window, closing all the others
⌃OControl O
Swap window to the left
⇧HShift H
Swap window downwards
⇧JShift J
Swap window upwards
⇧KShift K
Swap window to the right
⇧LShift L
Minor - space
22Open file picker
FF
Open file picker at current working directory
⇧FShift F
Open buffer picker
BB
Open jumplist picker
JJ
Debug (experimental)
GG
Show info for item under cursor in a popup (LSP)
KK
Open document symbol picker (LSP)
SS
Open workspace symbol picker (LSP)
⇧SShift S
Open document diagnostics picker (LSP)
DD
Open workspace diagnostics picker (LSP)
⇧DShift D
Rename symbol (LSP)
RR
Apply code action (LSP)
AA
Select symbol references (LSP)
HH
Open last fuzzy picker
''
enter window mode
WW
Paste system clipboard after selections
PP
Paste system clipboard before selections
⇧PShift P
Yank selections to clipboard
YY
Yank main selection to clipboard
⇧YShift Y
Replace selections by clipboard contents
⇧RShift R
Global search in workspace folder
//
Open command palette
⇧/Shift /
Minor - Space-Popup
2Scroll up
⌃UControl U
Scroll down
⌃DControl D
Unimpaired
22Go to next diagnostic (LSP)
]]thenDD
Go to previous diagnostic (LSP)
[[thenDD
Go to last diagnostic in document (LSP)
]]then⇧DShift D
Go to first diagnostic in document (LSP)
[[then⇧DShift D
Go to next function (TS)
]]thenFF
Go to previous function (TS)
[[thenFF
Go to next type definition (TS)
]]thenTT
Go to previous type definition (TS)
[[thenTT
Go to next argument/parameter (TS)
]]thenAA
Go to previous argument/parameter (TS)
[[thenAA
Go to next comment (TS)
]]thenCC
Go to previous comment (TS)
[[thenCC
Go to next test (TS)
]]then⇧TShift T
Go to previous test (TS)
[[then⇧TShift T
Go to next paragraph
]]thenPP
Go to previous paragraph
[[thenPP
Go to next change
]]thenGG
Go to previous change
[[thenGG
Go to last change
]]then⇧GShift G
Go to first change
[[then⇧GShift G
Add newline below
]]thenSpaceSpace
Add newline above
[[thenSpaceSpace