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