Neovim Keybinds & Commands Cheatsheet
LSP
| Key |
Action |
gd |
Go to definition (reuses existing split) |
gD |
Go to declaration |
gi |
Go to implementation |
gr |
Go to references |
gt |
Go to type definition |
K |
Hover documentation |
<C-k> |
Signature help (normal + insert) |
<leader>ca |
Code action |
<leader>rn |
Rename symbol |
<leader>f |
Format file |
Diagnostics
| Key |
Action |
[d |
Previous diagnostic |
]d |
Next diagnostic |
gl |
Open diagnostic float |
<leader>q |
Buffer diagnostics to loclist |
Go files auto-format and organize imports on save.
Autocompletion (blink.cmp)
| Key |
Action |
<C-space> |
Trigger completion menu |
<C-n> |
Next item |
<C-p> |
Previous item |
<CR> |
Confirm selection |
<C-e> |
Dismiss menu |
<C-b> |
Scroll docs up |
<C-f> |
Scroll docs down |
Sources: LSP, buffer words, file paths.
Pane Navigation
| Key |
Action |
<Alt-h> |
Move left (or prev terminal tab in popup) |
<Alt-l> |
Move right (or next terminal tab in popup) |
<Alt-j> |
Move down |
<Alt-k> |
Move up |
Navigation wraps around (left from leftmost goes to rightmost).
Alt+h/l switch terminal tabs when the popup terminal is open.
Buffer Tabs (per-split)
| Key |
Action |
<Tab> |
Next buffer in current split |
<Shift-Tab> |
Previous buffer in current split |
<leader>x |
Close current buffer |
:q |
Close current buffer (keeps split) |
:wq |
Save and close current buffer |
Each file belongs to one split only. Selecting an already-open file from oil focuses its split.
File Explorer (oil.nvim)
| Key / Command |
Action |
<leader>e |
Toggle file tree (left sidebar) |
- or <BS> |
Go up one directory |
<CR> |
Open file in last used code split |
<leader>d |
Delete file/directory under cursor |
g. |
Toggle hidden files |
<C-p> |
Preview file |
<C-c> |
Close oil |
:w (in oil buffer) |
Save filesystem changes (renames, moves, etc.) |
File tree opens automatically on startup. Edit filenames directly in the buffer, then :w to apply.
| Key |
Action |
<C-t> |
Toggle popup terminal |
<Alt-h> |
Previous terminal tab |
<Alt-l> |
Next terminal tab |
<C-n> |
New terminal tab |
<C-w> |
Close terminal tab |
<C-v> |
Paste from clipboard |
<Esc> |
Exit to normal mode |
Terminal session persists when hidden. Tab indicator in title: Terminal [1] 2 3.
Task Runner (overseer.nvim)
| Command |
Action |
:OverseerRun |
Pick and run a task |
:OverseerToggle |
Toggle task list panel |
:OverseerInfo |
Show overseer status/info |
:OverseerBuild |
Build a task from scratch |
:OverseerQuickAction |
Run quick action on recent task |
:OverseerTaskAction |
Pick a task, then an action |
:OverseerClearCache |
Clear cached tasks |
Tasks integrate with quickfix: errors populate the quickfix list.
Mason (LSP server management)
| Command |
Action |
:Mason |
Open Mason UI |
:MasonInstall <server> |
Install a server |
:MasonUninstall <server> |
Remove a server |
:MasonUpdate |
Update all servers |
Auto-installed servers: gopls, bashls, ansiblels, yamlls.
Treesitter
| Command |
Action |
:TSInstall <lang> |
Install a parser |
:TSUpdate |
Update all parsers |
:TSInstall go bash yaml lua |
Install all configured parsers |
Syntax highlighting is automatic once a parser is installed.
Quickfix List (built-in)
| Key / Command |
Action |
:copen |
Open quickfix window |
:cclose |
Close quickfix window |
:cnext / ]q |
Next quickfix item |
:cprev / [q |
Previous quickfix item |
Window Management
| Key |
Action |
<C-w>v |
Vertical split |
<C-w>s |
Horizontal split |
<C-w>> |
Wider |
<C-w>< |
Narrower |
<C-w>+ |
Taller |
<C-w>- |
Shorter |
<C-w>= |
Equal size all |
10<C-w>> |
Wider by 10 columns |
Splitting from oil auto-redirects to the code area.
Sessions / Layout
| Key |
Action |
<leader>ss |
Save current layout/session |
<leader>sl |
Load saved layout/session |
Saves window positions, sizes, buffers, terminals, and current directory.
Statusline
Shows: filename [modified] [readonly] on the left, git-branch | line:col percent on the right.