| Move left |
|
h |
h |
Yes |
Source |
| Move down |
|
j |
j |
Yes |
Source |
| Move up |
|
k |
k |
Yes |
Source |
| Move right |
|
l |
l |
Yes |
Source |
| Move next word start |
|
w |
w |
Yes |
Source |
| Move previous word start |
|
b |
b |
Yes |
Source |
| Move next word end |
|
e |
e |
Yes |
Source |
| Move next WORD start |
|
W |
W |
Yes |
Source |
| Move previous WORD start |
|
B |
B |
Yes |
Source |
| Move next WORD end |
|
E |
E |
Yes |
Source |
| Find till next char |
|
t |
t |
Yes |
Source |
| Find next char |
|
f |
f |
Yes |
Source |
| Find till previous char |
|
T |
T |
Yes |
Source |
| Find previous char |
|
F |
F |
Yes |
Source |
| Go to line number <n> |
|
G |
G |
Yes |
Source |
| Repeat last motion ( f , t , m , [ or ] ) |
|
Alt+. |
Alt+. |
Yes |
Source |
| Move to the start of the line |
|
Home |
Home |
Yes |
Source |
| Move to the end of the line |
|
End |
End |
Yes |
Source |
| Move page up |
|
Ctrl+b |
Ctrl+b |
Yes |
Source |
| Move page down |
|
Ctrl+f |
Ctrl+f |
Yes |
Source |
| Move cursor and page half page up |
|
Ctrl+u |
Ctrl+u |
Yes |
Source |
| Move cursor and page half page down |
|
Ctrl+d |
Ctrl+d |
Yes |
Source |
| Jump forward on the jumplist |
|
Ctrl+i |
Ctrl+i |
Yes |
Source |
| Jump backward on the jumplist |
|
Ctrl+o |
Ctrl+o |
Yes |
Source |
| Save the current selection to the jumplist |
|
Ctrl+s |
Ctrl+s |
Yes |
Source |
| Replace with a character |
|
r |
r |
Yes |
Source |
| Replace with yanked text |
|
R |
R |
Yes |
Source |
| Switch case of the selected text |
|
~ |
~ |
Yes |
Source |
| Set the selected text to lower case |
|
` |
` |
Yes |
Source |
| Set the selected text to upper case |
|
Alt+` |
Alt+` |
Yes |
Source |
| Insert before selection |
|
i |
i |
Yes |
Source |
| Insert after selection (append) |
|
a |
a |
Yes |
Source |
| Insert at the start of the line |
|
I |
I |
Yes |
Source |
| Insert at the end of the line |
|
A |
A |
Yes |
Source |
| Open new line below selection |
|
o |
o |
Yes |
Source |
| Open new line above selection |
|
O |
O |
Yes |
Source |
| Repeat last insert |
|
. |
. |
Yes |
Source |
| Undo change |
|
u |
u |
Yes |
Source |
| Redo change |
|
U |
U |
Yes |
Source |
| Move backward in history |
|
Alt+u |
Alt+u |
Yes |
Source |
| Move forward in history |
|
Alt+U |
Alt+U |
Yes |
Source |
| Yank selection |
|
y |
y |
Yes |
Source |
| Paste after selection |
|
p |
p |
Yes |
Source |
| Paste before selection |
|
P |
P |
Yes |
Source |
| Indent selection |
|
&+then+g+then+t+then+; |
&+then+g+then+t+then+; |
Yes |
Source |
| Unindent selection |
|
&+then+l+then+t+then+; |
&+then+l+then+t+then+; |
Yes |
Source |
| Format selection ( LSP ) |
|
= |
= |
Yes |
Source |
| Delete selection |
|
d |
d |
Yes |
Source |
| Delete selection, without yanking |
|
Alt+d |
Alt+d |
Yes |
Source |
| Change selection (delete and enter insert mode) |
|
c |
c |
Yes |
Source |
| Change selection (delete and enter insert mode, without yanking) |
|
Alt+c |
Alt+c |
Yes |
Source |
| Increment object (number) under cursor |
|
Ctrl+a |
Ctrl+a |
Yes |
Source |
| Decrement object (number) under cursor |
|
Ctrl+x |
Ctrl+x |
Yes |
Source |
| Start/stop macro recording to the selected register (experimental) |
|
Q |
Q |
Yes |
Source |
| Play back a recorded macro from the selected register (experimental) |
|
q |
q |
Yes |
Source |
| Pipe each selection through shell command, replacing with output |
|
| |
| |
Yes |
Source |
| Pipe each selection into shell command, ignoring output |
|
Alt+| |
Alt+| |
Yes |
Source |
| Run shell command, inserting output before each selection |
|
! |
! |
Yes |
Source |
| Run shell command, appending output after each selection |
|
Alt+! |
Alt+! |
Yes |
Source |
| Pipe each selection into shell command, keep selections where command returned 0 |
|
$ |
$ |
Yes |
Source |
| Select all regex matches inside selections |
|
s |
s |
Yes |
Source |
| Split selection into sub selections on regex matches |
|
S |
S |
Yes |
Source |
| Split selection on newlines |
|
Alt+s |
Alt+s |
Yes |
Source |
| Merge selections |
|
Alt |
Alt |
Yes |
Source |
| Merge consecutive selections |
|
Alt+_ |
Alt+_ |
Yes |
Source |
| Align selection in columns |
|
& |
& |
Yes |
Source |
| Trim whitespace from the selection |
|
_ |
_ |
Yes |
Source |
| Collapse selection onto a single cursor |
|
; |
; |
Yes |
Source |
| Flip selection cursor and anchor |
|
Alt+; |
Alt+; |
Yes |
Source |
| Ensures the selection is in forward direction |
|
Alt+: |
Alt+: |
Yes |
Source |
| Remove the primary selection |
|
Alt |
Alt |
Yes |
Source |
| Copy selection onto the next line (Add cursor below) |
|
C |
C |
Yes |
Source |
| Copy selection onto the previous line (Add cursor above) |
|
Alt+C |
Alt+C |
Yes |
Source |
| Rotate main selection backward |
|
( |
( |
Yes |
Source |
| Rotate main selection forward |
|
) |
) |
Yes |
Source |
| Rotate selection contents backward |
|
Alt+( |
Alt+( |
Yes |
Source |
| Rotate selection contents forward |
|
Alt+) |
Alt+) |
Yes |
Source |
| Select entire file |
|
% |
% |
Yes |
Source |
| Select current line, if already selected, extend to next line |
|
x |
x |
Yes |
Source |
| Extend selection to line bounds (line-wise selection) |
|
X |
X |
Yes |
Source |
| Shrink selection to line bounds (line-wise selection) |
|
Alt+x |
Alt+x |
Yes |
Source |
| Join lines inside selection |
|
J |
J |
Yes |
Source |
| Join lines inside selection and select the inserted space |
|
Alt+J |
Alt+J |
Yes |
Source |
| Keep selections matching the regex |
|
K |
K |
Yes |
Source |
| Remove selections matching the regex |
|
Alt+K |
Alt+K |
Yes |
Source |
| Comment/uncomment the selections |
|
Ctrl+c |
Ctrl+c |
Yes |
Source |
| Expand selection to parent syntax node ( TS ) |
|
Alt+o |
Alt+o |
Yes |
Source |
| Shrink syntax tree object selection ( TS ) |
|
Alt+i |
Alt+i |
Yes |
Source |
| Select previous sibling node in syntax tree ( TS ) |
|
Alt+p |
Alt+p |
Yes |
Source |
| Select next sibling node in syntax tree ( TS ) |
|
Alt+n |
Alt+n |
Yes |
Source |
| Select all sibling nodes in syntax tree ( TS ) |
|
Alt+a |
Alt+a |
Yes |
Source |
| Select all children nodes in syntax tree ( TS ) |
|
Alt+I |
Alt+I |
Yes |
Source |
| Move to end of parent node in syntax tree ( TS ) |
|
Alt+e |
Alt+e |
Yes |
Source |
| Move to start of parent node in syntax tree ( TS ) |
|
Alt+b |
Alt+b |
Yes |
Source |
| Search for regex pattern |
|
/ |
/ |
Yes |
Source |
| Search for previous pattern |
|
? |
? |
Yes |
Source |
| Select next search match |
|
n |
n |
Yes |
Source |
| Select previous search match |
|
N |
N |
Yes |
Source |
| Use current selection as the search pattern, automatically wrapping with \b on word boundaries |
|
* |
* |
Yes |
Source |
| Use current selection as the search pattern |
|
Alt+* |
Alt+* |
Yes |
Source |
| Enter select (extend) mode |
|
v |
v |
Yes |
Source |
| Enter goto mode |
|
g |
g |
Yes |
Source |
| Enter match mode |
|
m |
m |
Yes |
Source |
| Enter command mode |
|
: |
: |
Yes |
Source |
| Enter view mode |
|
z |
z |
Yes |
Source |
| Enter sticky view mode |
|
Z |
Z |
Yes |
Source |
| Enter window mode |
|
Ctrl+w |
Ctrl+w |
Yes |
Source |
| Enter space mode |
|
Space |
Space |
Yes |
Source |
| Vertically center the line |
|
z |
z |
Yes |
Source |
| Align the line to the top of the screen |
|
t |
t |
Yes |
Source |
| Align the line to the bottom of the screen |
|
b |
b |
Yes |
Source |
| Align the line to the middle of the screen (horizontally) |
|
m |
m |
Yes |
Source |
| Scroll the view downwards |
|
j |
j |
Yes |
Source |
| Scroll the view upwards |
|
k |
k |
Yes |
Source |
| Go to line number <n> else start of file |
|
g |
g |
Yes |
Source |
| Go to column number <n> else start of line |
|
| |
| |
Yes |
Source |
| Go to the end of the file |
|
e |
e |
Yes |
Source |
| Go to files in the selections |
|
f |
f |
Yes |
Source |
| Go to the start of the line |
|
h |
h |
Yes |
Source |
| Go to the end of the line |
|
l |
l |
Yes |
Source |
| Go to first non-whitespace character of the line |
|
s |
s |
Yes |
Source |
| Go to the top of the screen |
|
t |
t |
Yes |
Source |
| Go to the middle of the screen |
|
c |
c |
Yes |
Source |
| Go to the bottom of the screen |
|
b |
b |
Yes |
Source |
| Go to definition ( LSP ) |
|
d |
d |
Yes |
Source |
| Go to type definition ( LSP ) |
|
y |
y |
Yes |
Source |
| Go to references ( LSP ) |
|
r |
r |
Yes |
Source |
| Go to implementation ( LSP ) |
|
i |
i |
Yes |
Source |
| Go to the last accessed/alternate file |
|
a |
a |
Yes |
Source |
| Go to the last modified/alternate file |
|
m |
m |
Yes |
Source |
| Go to next buffer |
|
n |
n |
Yes |
Source |
| Go to previous buffer |
|
p |
p |
Yes |
Source |
| Go to last modification in current file |
|
. |
. |
Yes |
Source |
| Move down textual (instead of visual) line |
|
j |
j |
Yes |
Source |
| Move up textual (instead of visual) line |
|
k |
k |
Yes |
Source |
| Show labels at each word and select the word that belongs to the entered labels |
|
w |
w |
Yes |
Source |
| Goto matching bracket ( TS ) |
|
m |
m |
Yes |
Source |
| Switch to next window |
|
w |
w |
Yes |
Source |
| Vertical right split |
|
v |
v |
Yes |
Source |
| Horizontal bottom split |
|
s |
s |
Yes |
Source |
| Go to files in the selections in horizontal splits |
|
f |
f |
Yes |
Source |
| Go to files in the selections in vertical splits |
|
F |
F |
Yes |
Source |
| Move to left split |
|
h |
h |
Yes |
Source |
| Move to split below |
|
j |
j |
Yes |
Source |
| Move to split above |
|
k |
k |
Yes |
Source |
| Move to right split |
|
l |
l |
Yes |
Source |
| Close current window |
|
q |
q |
Yes |
Source |
| Only keep the current window, closing all the others |
|
o |
o |
Yes |
Source |
| Swap window to the left |
|
H |
H |
Yes |
Source |
| Swap window downwards |
|
J |
J |
Yes |
Source |
| Swap window upwards |
|
K |
K |
Yes |
Source |
| Swap window to the right |
|
L |
L |
Yes |
Source |
| Open file picker at LSP workspace root |
|
f |
f |
Yes |
Source |
| Open file picker at current working directory |
|
F |
F |
Yes |
Source |
| Open buffer picker |
|
b |
b |
Yes |
Source |
| Open jumplist picker |
|
j |
j |
Yes |
Source |
| Open changed file picker |
|
g |
g |
Yes |
Source |
| Debug (experimental) |
|
G |
G |
Yes |
Source |
| Show documentation for item under cursor in a popup ( LSP ) |
|
k |
k |
Yes |
Source |
| Open document symbol picker ( LSP ) |
|
s |
s |
Yes |
Source |
| Open workspace symbol picker ( LSP ) |
|
S |
S |
Yes |
Source |
| Open document diagnostics picker ( LSP ) |
|
d |
d |
Yes |
Source |
| Open workspace diagnostics picker ( LSP ) |
|
D |
D |
Yes |
Source |
| Rename symbol ( LSP ) |
|
r |
r |
Yes |
Source |
| Apply code action ( LSP ) |
|
a |
a |
Yes |
Source |
| Select symbol references ( LSP ) |
|
h |
h |
Yes |
Source |
| Open last fuzzy picker |
|
' |
' |
Yes |
Source |
| Enter window mode |
|
w |
w |
Yes |
Source |
| Comment/uncomment selections |
|
c |
c |
Yes |
Source |
| Block comment/uncomment selections |
|
C |
C |
Yes |
Source |
| Line comment/uncomment selections |
|
Alt+c |
Alt+c |
Yes |
Source |
| Paste system clipboard after selections |
|
p |
p |
Yes |
Source |
| Paste system clipboard before selections |
|
P |
P |
Yes |
Source |
| Yank selections to clipboard |
|
y |
y |
Yes |
Source |
| Yank main selection to clipboard |
|
Y |
Y |
Yes |
Source |
| Replace selections by clipboard contents |
|
R |
R |
Yes |
Source |
| Global search in workspace folder |
|
/ |
/ |
Yes |
Source |
| Open command palette |
|
? |
? |
Yes |
Source |
| Scroll up |
|
Ctrl+u |
Ctrl+u |
Yes |
Source |
| Scroll down |
|
Ctrl+d |
Ctrl+d |
Yes |
Source |
| Previous entry |
|
Shift+Tab |
Shift+Tab |
Yes |
Source |
| Next entry |
|
Tab |
Tab |
Yes |
Source |
| Close menu and accept completion |
|
Enter |
Enter |
Yes |
Source |
| Close menu and reject completion |
|
Ctrl+c |
Ctrl+c |
Yes |
Source |
| Previous signature |
|
Alt+p |
Alt+p |
Yes |
Source |
| Next signature |
|
Alt+n |
Alt+n |
Yes |
Source |
| Go to next diagnostic ( LSP ) |
|
]+then+d |
]+then+d |
Yes |
Source |
| Go to previous diagnostic ( LSP ) |
|
[+then+d |
[+then+d |
Yes |
Source |
| Go to last diagnostic in document ( LSP ) |
|
]+then+D |
]+then+D |
Yes |
Source |
| Go to first diagnostic in document ( LSP ) |
|
[+then+D |
[+then+D |
Yes |
Source |
| Go to next function ( TS ) |
|
]+then+f |
]+then+f |
Yes |
Source |
| Go to previous function ( TS ) |
|
[+then+f |
[+then+f |
Yes |
Source |
| Go to next type definition ( TS ) |
|
]+then+t |
]+then+t |
Yes |
Source |
| Go to previous type definition ( TS ) |
|
[+then+t |
[+then+t |
Yes |
Source |
| Go to next argument/parameter ( TS ) |
|
]+then+a |
]+then+a |
Yes |
Source |
| Go to previous argument/parameter ( TS ) |
|
[+then+a |
[+then+a |
Yes |
Source |
| Go to next comment ( TS ) |
|
]+then+c |
]+then+c |
Yes |
Source |
| Go to previous comment ( TS ) |
|
[+then+c |
[+then+c |
Yes |
Source |
| Go to next test ( TS ) |
|
]+then+T |
]+then+T |
Yes |
Source |
| Go to previous test ( TS ) |
|
[+then+T |
[+then+T |
Yes |
Source |
| Go to next paragraph |
|
]+then+p |
]+then+p |
Yes |
Source |
| Go to previous paragraph |
|
[+then+p |
[+then+p |
Yes |
Source |
| Go to next change |
|
]+then+g |
]+then+g |
Yes |
Source |
| Go to previous change |
|
[+then+g |
[+then+g |
Yes |
Source |
| Go to last change |
|
]+then+G |
]+then+G |
Yes |
Source |
| Go to first change |
|
[+then+G |
[+then+G |
Yes |
Source |
| Add newline below |
|
]+then+S+then+p+then+a+then+c+then+e |
]+then+S+then+p+then+a+then+c+then+e |
Yes |
Source |
| Add newline above |
|
[+then+S+then+p+then+a+then+c+then+e |
[+then+S+then+p+then+a+then+c+then+e |
Yes |
Source |