Skip to content
Hotkys
All apps
Helix icon

Helix Keyboard Shortcuts

Edit code directly from your terminal.

230 shortcuts / 13 sections

Movement

31
Move left
H
Move left
Left Arrow
Move down
J
Move down
Down Arrow
Move up
K
Move up
Up Arrow
Move right
L
Move right
Right Arrow
Move next word start
W
Move previous word start
B
Move next word end
E
Move next WORD start
Shift W
Move previous WORD start
Shift B
Move next WORD end
Shift E
Find 'till next char
T
Find next char
F
Find 'till previous char
Shift T
Find previous char
Shift F
Go to line number <n>
Shift G
Repeat last motion (f, t or m)
Option .
Move to the start of the line
Home
Move to the end of the line
End
Move page up
Control B
Move page up
Page Up
Move page down
Control F
Move page down
Page Down
Move half page up
Control U
Move half page down
Control D
Jump forward on the jumplist
Control I
Jump backward on the jumplist
Control O
Save the current selection to the jumplist
Control S

Changes

31
Replace with a character
R
Replace with yanked text
Shift 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
I
Insert after selection (append)
A
Insert at the start of the line
Shift I
Insert at the end of the line
Shift A
Open new line below selection
O
Open new line above selection
Shift O
Repeat last insert
.
Undo change
U
Redo change
Shift U
Move backward in history
Option U
Move forward in history
Shift Option U
Yank selection
Y
Paste after selection
P
Paste before selection
Shift P
Select a register to yank to or paste from
<reg>
Indent selection
Shift .
Unindent selection
Shift ,
Format selection (currently disabled) (LSP)
=
delete selection
D
delete selection, without yanking
Option D
Change selection (delete and enter insert mode)
C
Change select - del and to insert mod without yank
Option C
Increment object (number) under cursor
Control A
Decrement object (number) under cursor
Control X
Start/stop macro record to selected register
Shift Q
Play back a recorded macro from selected register
Q

Changes - Shell

5
Pipe 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
Shift 1
Run shell cmd, append output after each selection
Shift Option 1
Pipe all select to shl cmd keep select cmd retur 0
Shift 4

Selection-manipulation

35
Select all regex matches inside selections
S
Split select into sub selections on regex matches
Shift S
Split selection on newlines
Option S
Merge selections
Option -
Merge consecutive selections
Shift Option -
Align selection in columns
Shift 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)
Shift C
Copy select to the previous line Add cursor above
Shift Option C
Rotate main selection backward
Shift 9
Rotate main selection forward
Shift 0
Rotate selection contents backward
Shift Option 9
Rotate selection contents forward
Shift Option 0
Select entire file
Shift 5
Select current line if selected extend next line
X
Extend select to line bounds (line-wise selection)
Shift X
Shrink select to line bounds (line-wise selection)
Option X
Join lines inside selection
Shift J
Join lines inside select and select inserted space
Shift Option J
Keep selections matching the regex
Shift K
Remove selections matching the regex
Shift Option K
Comment/uncomment the selections
Control C
Expand selection to parent syntax node (TS)
Option O
Expand selection to parent syntax node (TS)
Option Up Arrow
Shrink syntax tree object selection (TS)
Option I
Shrink syntax tree object selection (TS)
Option Down Arrow
Select previous sibling node in syntax tree (TS)
Option P
Select previous sibling node in syntax tree (TS)
Option Left Arrow
Select next sibling node in syntax tree (TS)
Option N
Select next sibling node in syntax tree (TS)
Option Right Arrow

Minor

8
enter select (extend) mode
V
enter goto mode
G
enter match mode
M
enter command mode
Shift ;
enter view mode
Z
enter sticky view mode
Shift Z
enter window mode
Control W
enter space mode
Space

Minor - View

15
Vertically center the line
Z
Vertically center the line
C
Align the line to the top of the screen
T
Align the line to the bottom of the screen
B
Align line to middle of the screen (horizontally)
M
Scroll the view downwards
J
Scroll the view downwards
Down Arrow
Scroll the view upwards
K
Scroll the view upwards
Up Arrow
Move page down
Control F
Move page down
Page Down
Move page up
Control B
Move page up
Page Up
Move half page down
Control D
Move half page up
Control U

Minor - Goto

20
Go to line number <n> else start of file
G
Go to the end of the file
E
Go to files in the selection
F
Go to the start of the line
H
Go to the end of the line
L
Go to first non-whitespace character of the line
S
Go to the top of the screen
T
Go to the middle of the screen
C
Go to the bottom of the screen
B
Go to definition (LSP)
D
Go to type definition (LSP)
Y
Go to references (LSP)
R
Go to implementation (LSP)
I
Go to the last accessed/alternate file
A
Go to the last modified/alternate file
M
Go to next buffer
N
Go to previous buffer
P
Go to last modification in current file
.
Move down textual (instead of visual) line
J
Move up textual (instead of visual) line
K

Minor - Match

6
Goto matching bracket (TS)
M
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

28
Switch to next window
W
Switch to next window
Control W
Vertical right split
V
Vertical right split
Control V
Horizontal bottom split
S
Horizontal bottom split
Control S
Go to files in the selection in horizontal splits
F
Go to files in the selection in vertical splits
Shift F
Move to left split
H
Move to left split
Control H
Move to left split
Left Arrow
Move to split below
J
Move to split below
Control J
Move to split below
Down Arrow
Move to split above
K
Move to split above
Control K
Move to split above
Up Arrow
Move to right split
L
Move to right split
Control L
Move to right split
Right Arrow
Close current window
Q
Close current window
Control Q
Only keep current window, closing all the others
O
Only keep current window, closing all the others
Control O
Swap window to the left
Shift H
Swap window downwards
Shift J
Swap window upwards
Shift K
Swap window to the right
Shift L

Minor - space

22
Open file picker
F
Open file picker at current working directory
Shift F
Open buffer picker
B
Open jumplist picker
J
Debug (experimental)
G
Show info for item under cursor in a popup (LSP)
K
Open document symbol picker (LSP)
S
Open workspace symbol picker (LSP)
Shift S
Open document diagnostics picker (LSP)
D
Open workspace diagnostics picker (LSP)
Shift D
Rename symbol (LSP)
R
Apply code action (LSP)
A
Select symbol references (LSP)
H
Open last fuzzy picker
'
enter window mode
W
Paste system clipboard after selections
P
Paste system clipboard before selections
Shift P
Yank selections to clipboard
Y
Yank main selection to clipboard
Shift Y
Replace selections by clipboard contents
Shift R
Global search in workspace folder
/
Open command palette
Shift /

Minor - Space-Popup

2
Scroll up
Control U
Scroll down
Control D

Unimpaired

22
Go to next diagnostic (LSP)
]thenD
Go to previous diagnostic (LSP)
[thenD
Go to last diagnostic in document (LSP)
]thenShift D
Go to first diagnostic in document (LSP)
[thenShift D
Go to next function (TS)
]thenF
Go to previous function (TS)
[thenF
Go to next type definition (TS)
]thenT
Go to previous type definition (TS)
[thenT
Go to next argument/parameter (TS)
]thenA
Go to previous argument/parameter (TS)
[thenA
Go to next comment (TS)
]thenC
Go to previous comment (TS)
[thenC
Go to next test (TS)
]thenShift T
Go to previous test (TS)
[thenShift T
Go to next paragraph
]thenP
Go to previous paragraph
[thenP
Go to next change
]thenG
Go to previous change
[thenG
Go to last change
]thenShift G
Go to first change
[thenShift G
Add newline below
]thenSpace
Add newline above
[thenSpace