Skip to main content

Plugin Shortcuts Cheatsheet

All bindings use <leader> = <Space>.

Telescope

<leader>ff    find files
<leader>fg live grep (search in files)
<leader>fw find word under cursor
<leader>fr recent files
<leader>fb find buffer
<leader>fh help tags
<leader>fk keymaps
<leader>fc commands
<leader>fs document symbols (LSP)
<leader>fS workspace symbols (LSP)
<leader>fd diagnostics
<leader>f. resume last search

Inside Telescope:
Ctrl+j/k navigate results
Ctrl+v open in vertical split
Ctrl+x open in horizontal split
Enter open file
Esc / q close

Harpoon

<leader>ha    add current file to harpoon
<leader>hh open harpoon quick menu
<leader>1-5 jump to file 1-5
[h / ]h previous / next harpoon file

LSP

gd            go to definition
gD go to declaration
gi go to implementation
gt go to type definition
gr list references
K hover documentation
<C-k> signature help

<leader>lR rename symbol
<leader>la code action
<leader>lf format file
<leader>lwa add workspace folder

[d / ]d prev / next diagnostic
<leader>dl show line diagnostic float
<leader>dL telescope: all diagnostics

Gitsigns

]h / [h       next / prev git hunk
<leader>ghs stage hunk
<leader>ghr reset hunk
<leader>ghS stage buffer
<leader>ghR reset buffer
<leader>ghu undo stage hunk
<leader>ghp preview hunk
<leader>ghd diff this file
<leader>gB toggle line blame
<leader>gb show full blame for line

ih text object: select hunk

Neogit

<leader>gg    open Neogit status
<leader>gc git commit
<leader>gP git push
<leader>gp git pull

Inside Neogit:
s stage item
u unstage item
S stage all
U unstage all
cc commit
ca commit amend
Pp push
Ff fetch/pull
b branch popup
= toggle inline diff
q close

Diffview

<leader>gd    open diffview
<leader>gD close diffview
<leader>gh file history (current file)
<leader>gH project history

Inside conflict:
[x / ]x prev / next conflict
<leader>co choose ours
<leader>ct choose theirs
<leader>ca choose all

Neo-tree

<leader>e     toggle file explorer
<leader>E focus file explorer
<leader>be buffer explorer
<leader>ge git status explorer

Inside Neo-tree:
l open / expand
h close / collapse
a add file or folder (end name with / for folder)
d delete
r rename
y copy filename
Y copy absolute path
c copy file
m move file
R refresh
H toggle hidden files
? show all bindings
q close

Toggleterm

<C-\>         toggle terminal
<leader>lg open lazygit (float)

Terminal mode:
Esc exit to Normal mode
Ctrl+\ Ctrl+n exit terminal mode (vim built-in)

Treesitter Motions

[f / ]f       prev / next function
[c / ]c prev / next class

Incremental selection:
<C-Space> start/expand selection
<Backspace> shrink selection

General Window/Buffer

<C-h/j/k/l>  navigate windows (or tmux panes with vim-tmux-navigator)
<leader>wv vertical split
<leader>ws horizontal split
<leader>wc close window
<leader>wo close other windows
<S-l> next buffer
<S-h> prev buffer
<leader>bd delete buffer

<A-j/k> move line down/up
< / > (visual) indent left/right and stay in visual

Back to Start