h

Move cursor left

normal
j

Move cursor down

normal
k

Move cursor up

normal
l

Move cursor right

normal
w

Jump to start of next word

normal
b

Jump to start of previous word

normal
e

Jump to end of word

normal
0

Jump to start of line

normal
^

Jump to first non-blank character of line

normal
$

Jump to end of line

normal
g_

Jump to last non-blank character of line

normal
gg

Go to first line of document

normal
G

Go to last line of document

normal
f{char}

Jump to next occurrence of character

normal
F{char}

Jump to previous occurrence of character

normal
t{char}

Jump to before next occurrence of character

normal
T{char}

Jump to after previous occurrence of character

normal
{

Jump to previous paragraph

normal
}

Jump to next paragraph

normal
<C-d>

Move down half a page

normal
<C-u>

Move up half a page

normal
<C-f>

Move down one page

normal
<C-b>

Move up one page

normal
H

Move to top of screen

normal
M

Move to middle of screen

normal
L

Move to bottom of screen

normal
<C-o>

Jump to older cursor position

normal
<C-i>

Jump to newer cursor position

normal
i

Insert mode at cursor

normal
I

Insert at beginning of line

normal
a

Append after cursor

normal
A

Append at end of line

normal
o

Open new line below

normal
O

Open new line above

normal
x

Delete character under cursor

normal
dd

Delete line

normal
dw

Delete word

normal
yy

Yank (copy) line

normal
p

Paste after cursor

normal
+p

Paste from system clipboard

normal

Remaps

P

Paste before cursor

normal
u

Undo

normal
<C-r>

Redo

normal
ggVG

Select all text in the file

normal
:w

Save file

command
:q

Quit

command
:wq

Save and quit

command
:q!

Quit without saving

command
:%s/foo/bar/g

Replace all 'foo' with 'bar'

command
:set number

Show line numbers

command
:help

Open help

command
:e {path}

Open file in new buffer, switch to it. (Creates file if does not exist)

command
gd

Go to definition

normal
gr

Go to references

normal
K

Show documentation

normal
<leader>ca

Code action

normal
<leader>rn

Rename symbol

normal
[d

Go to previous diagnostic

normal
]d

Go to next diagnostic

normal
/{text}

Search forward for text

normal
?{text}

Search backward for text

normal
n

Search next

normal
N

Search previous

normal
v

Start visual mode

normal
V

Start linewise visual mode

normal
<C-v>

Start blockwise visual mode

normal
d

Delete selected text

visual
y

Yank (copy) selected text

visual
+y

Copy selected text to system clipboard

visual

Remaps

>

Indent selected text

visual
<

Unindent selected text

visual
<C-]>

Change directory to selected node

normal
nvim-tree
<C-e>

Open node in place of tree buffer

normal
nvim-tree
<C-k>

Show information popup for node

normal
nvim-tree
<C-r>

Rename node without filename

normal
nvim-tree
<C-t>

Open node in new tab

normal
nvim-tree
<C-v>

Open node in vertical split

normal
nvim-tree
<C-x>

Open node in horizontal split

normal
nvim-tree
<BS>

Close current directory and go to parent

normal
nvim-tree
<CR>

Open node for editing

normal
nvim-tree
<Tab>

Preview node content

normal
nvim-tree
>

Move to next sibling node

normal
nvim-tree
<

Move to previous sibling node

normal
nvim-tree
.

Run command on selected node

normal
nvim-tree
-

Move up to parent directory

normal
nvim-tree
a

Create new file or directory

normal
nvim-tree
bd

Delete all bookmarked nodes

normal
nvim-tree
bt

Trash all bookmarked nodes

normal
nvim-tree
bmv

Move all bookmarked nodes

normal
nvim-tree
B

Toggle filter for non-buffered files

normal
nvim-tree
c

Copy selected node

normal
nvim-tree
C

Toggle filter for git clean files

normal
nvim-tree
[c

Move to previous git-modified node

normal
nvim-tree
]c

Move to next git-modified node

normal
nvim-tree
d

Delete selected node

normal
nvim-tree
D

Move selected node to trash

normal
nvim-tree
E

Expand all directories in tree

normal
nvim-tree
e

Rename node basename only

normal
nvim-tree
]e

Move to next diagnostic issue

normal
nvim-tree
[e

Move to previous diagnostic issue

normal
nvim-tree
F

Clear live filter

normal
nvim-tree
f

Start live filtering

normal
nvim-tree
g?

Toggle help menu

normal
nvim-tree
gy

Copy absolute path of node

normal
nvim-tree
ge

Copy basename of node

normal
nvim-tree
H

Toggle filter for hidden dotfiles

normal
nvim-tree
I

Toggle filter for git-ignored files

normal
nvim-tree
J

Move to last sibling node

normal
nvim-tree
K

Move to first sibling node

normal
nvim-tree
L

Toggle visibility of empty groups

normal
nvim-tree
M

Toggle filter for non-bookmarked nodes

normal
nvim-tree
m

Toggle bookmark for selected node

normal
nvim-tree
o

Open node for editing

normal
nvim-tree
O

Open node without window picker

normal
nvim-tree
p

Paste copied or cut node

normal
nvim-tree
P

Move to parent directory

normal
nvim-tree
q

Close the tree view

normal
nvim-tree
r

Rename selected node

normal
nvim-tree
R

Refresh the tree view

normal
nvim-tree
s

Run system command on node

normal
nvim-tree
S

Search for a node in the tree

normal
nvim-tree
u

Rename node with full path

normal
nvim-tree
U

Toggle custom filter for hidden items

normal
nvim-tree
W

Collapse all directories in tree

normal
nvim-tree
x

Cut selected node

normal
nvim-tree
y

Copy filename of node

normal
nvim-tree
Y

Copy relative path of node

normal
nvim-tree
<2-LeftMouse>

Open node with double left-click

normal
nvim-tree
<2-RightMouse>

Change directory with double right-click

normal
nvim-tree