Custom Keymaps
Leader Key Prefixes
| Prefix |
Category |
a |
AI (CodeCompanion) |
b |
Buffer |
c |
Code (symbols, LSP, run) |
d |
Debug (DAP) |
e |
Editor (zen, toggles) |
f |
Find (Telescope) |
g |
Git |
l |
Language (filetype-specific) |
m |
Minuet (AI completion) |
n |
Notes (notifications) |
o |
Open (explorer, terminal) |
q |
Quickfix |
t |
Trouble (diagnostics lists) |
w |
Window |
x |
Scratch |
AI (<leader>a)
| Key |
Action |
ac |
Chat |
aa |
Actions palette |
ai |
Inline assistance |
ae |
Explain code (visual) |
ar |
Review code (visual) |
ao |
Optimize code (visual) |
af |
Fix bug (visual) |
at |
Generate tests (visual) |
am |
Add comments (visual) |
an |
New chat |
al |
Toggle chat |
as |
Stop |
a1 |
Small model |
a2 |
Medium model |
a3 |
Large model |
a? |
List models |
aM |
Use MLX (macOS) |
aO |
Use Ollama (macOS) |
aX |
Start MLX server (macOS) |
Buffer (<leader>b)
| Key |
Action |
bd |
Delete buffer |
bD |
Delete all buffers |
bo |
Delete other buffers |
bb |
List buffers |
b1-9 |
Go to buffer 1-9 |
Code (<leader>c)
| Key |
Action |
cl |
Run line (SnipRun) |
cr |
Run selection (visual, SnipRun) |
cR |
Reset runner |
cc |
Clear runner output |
cm |
Make (pick target) |
cM |
Make (default) |
cn |
Next symbol |
cp |
Previous symbol |
cN |
Next symbol (parent) |
cP |
Previous symbol (parent) |
cg |
Go to symbol |
cF |
Find symbols (Telescope) |
ca |
Code action |
ch |
Hover |
cd |
Go to definition |
cD |
Go to declaration |
ci |
Go to implementation |
ct |
Go to type definition |
Symbol outline lives under Open (<leader>oa/oA); rename is <leader>rn.
Debug (<leader>d)
| Key |
Action |
db |
Toggle breakpoint |
dB |
Conditional breakpoint |
dlp |
Log point |
dc |
Continue/Start |
dr |
Restart |
dt |
Terminate |
dq |
Close |
ds |
Step over |
di |
Step into |
do |
Step out |
dj |
Down stack frame |
dk |
Up stack frame |
dR |
Open REPL |
dE |
Evaluate expression |
dbc |
Clear breakpoints |
dbl |
List breakpoints |
drl |
Run last config |
dro |
Run to cursor |
du |
Toggle UI |
dU |
Open UI |
dC |
Close UI |
de |
Evaluate under cursor |
dS |
Sidebar (scopes) |
dF |
Sidebar (frames) |
dh |
Hover variables |
dp |
Preview variables |
dvt |
Toggle virtual text |
Editor (<leader>e)
| Key |
Action |
ez |
Zen mode |
eZ |
Zen zoom |
ew |
Toggle wrap |
es |
Toggle spell |
en |
Toggle line numbers |
er |
Toggle relative numbers |
eh |
Toggle search highlight |
ed |
Toggle diagnostics |
ec |
Toggle conceal |
Find (<leader>f)
| Key |
Action |
ff |
Files |
fF |
Files (+hidden) |
fr |
Recent files |
fd |
Dotfiles/config |
fp |
Plugin files |
fg |
Grep |
fG |
Grep (+hidden) |
f/ |
Word under cursor |
fb |
Buffers |
fm |
Marks |
fj |
Jump list |
f; |
Resume last |
f: |
Command history |
fh |
Help |
fc |
Commands |
fk |
Keymaps |
fs |
Document symbols |
fS |
Workspace symbols |
fie |
Insert emoji |
fim |
Insert math symbol |
fig |
Insert gitmoji |
Git (<leader>g)
| Key |
Action |
gg |
Lazygit |
gG |
Lazygit (file dir) |
gb |
Blame line |
gB |
Browse in GitHub |
gf |
Git files |
gs |
Status |
gc |
Commits |
gC |
Buffer commits |
gd |
Diff |
Language (<leader>l)
LaTeX (<leader>ll)
| Key |
Action |
llc |
Compile |
llv |
View PDF |
lls |
Stop |
llt |
TOC |
llk |
Clean |
llK |
Clean all |
lli |
Info |
llr |
Reverse search |
llb |
Bold (visual) |
lli |
Italic (visual) |
ll$ |
Math mode (visual) |
Markdown (<leader>lm and motions)
| Key |
Action |
lmp |
Toggle rendering |
lmP |
Toggle browser preview |
lmx |
Toggle checkbox |
lmt |
Insert TOC |
lml |
Add link |
lmn |
New list item below |
lmN |
New list item above |
]] |
Next heading |
[[ |
Previous heading |
gsb |
Toggle bold |
gsi |
Toggle italic |
gsc |
Toggle inline code |
gsd |
Delete emphasis (then b/i/c/s) |
gsr |
Change emphasis (then b/i/c/s) |
<C-s> (i) |
Fix last typo, stay in insert |
<leader>z |
Fix last typo |
Notes (<leader>n)
| Key |
Action |
nh |
Notification history |
nd |
Dismiss notifications |
nD |
Dashboard |
Open (<leader>o)
| Key |
Action |
oe |
Explorer |
oE |
Explorer (file dir) |
of |
Explorer float |
oa |
Aerial outline |
oA |
Aerial navigator |
ot |
Terminal |
oT |
Terminal float |
os |
Terminal split |
ov |
Terminal vsplit |
otp |
Python terminal |
otn |
Node terminal |
Quickfix (<leader>q)
| Key |
Action |
qo |
Open quickfix |
qc |
Close quickfix |
qn |
Next item |
qp |
Previous item |
ql |
Open location list |
qL |
Close location list |
qf |
Find in quickfix |
Trouble (<leader>t)
| Key |
Action |
tt |
Diagnostics |
tb |
Buffer diagnostics |
tq |
Quickfix list |
tl |
Location list |
tr |
LSP references |
ts |
Symbols |
tT |
Todo comments |
gR also opens LSP references in Trouble.
Minuet (<leader>m)
| Key |
Action |
mo |
Use Ollama backend |
mc |
Use Claude backend |
mt |
Toggle virtual text |
mb |
Toggle blink completion |
Scratch (<leader>x)
| Key |
Action |
xS |
Toggle scratch (current ft or markdown) |
xn |
New scratch (pick filetype) |
xs |
Select scratch |
xL |
List scratches |
Scratch buffers persist in ~/.local/share/nvim/scratch/ and auto-save.
The filetype picker sorts by most-used filetypes.
Window (<leader>w)
| Key |
Action |
w- |
Split horizontal |
w\| |
Split vertical |
wd |
Close window |
wo |
Close other windows |
w= |
Equal size |
wn |
New tab |
wc |
Close tab |
wO |
Close other tabs |
wl |
Next tab |
wh |
Previous tab |
Non-Leader Keymaps
Navigation
| Key |
Action |
Ctrl+h/j/k/l |
Window navigation |
Shift+Up/Down |
Resize height |
Shift+Left/Right |
Resize width |
Tab / S-Tab |
Next/prev buffer |
S-h / S-l |
Next/prev buffer |
[b / ]b |
Next/prev buffer |
[t / ]t |
Next/prev TODO comment |
[q / ]q |
Next/prev quickfix |
[l / ]l |
Next/prev location |
[w / ]w |
Next/prev diagnostic |
[W / ]W |
Next/prev error |
File Navigation
| Key |
Action |
gf |
Go to file (with line number) |
gw |
Open file in new window |
gv |
Open file in vsplit |
gs |
Open file in split |
gt |
Open file in new tab |
- |
Open explorer |
LSP
| Key |
Action |
Ctrl+] |
Go to definition |
Ctrl+\ |
Find references |
K |
Hover |
Editing
| Key |
Action |
< / > (visual) |
Indent and stay in visual |
Alt+j/k |
Move line down/up |
J / K (visual) |
Move selection down/up |
p (visual) |
Paste without yanking |
Q |
Play macro q |
J |
Join lines (cursor stays) |
Clipboard
| Key |
Action |
<leader>y |
Yank to system clipboard |
<leader>Y |
Yank line to clipboard |
<leader>p |
Paste without yanking |
<leader>d |
Delete without yanking |
| Key |
Action |
Ctrl+d/u |
Scroll and center |
n / N |
Search and center |
* / # |
Word search and center |
Misc
| Key |
Action |
Ctrl+s |
Save |
Ctrl+a |
Select all |
Esc |
Clear search highlight |
<leader><leader> |
Select to end of line |
<leader>sw |
Replace word under cursor |
<leader>sl |
Browse snippets |
<leader>u |
Toggle Undotree |
<leader>rn |
Rename symbol (LSP) |
,cs |
Copy relative path |
,cl |
Copy absolute path |
F5 |
Run Python file / DAP continue |
F10 |
DAP step over |
F11 |
DAP step into |
F12 |
DAP step out |