You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
A personal Neovim setup built on lazy.nvim, leaning heavily on
snacks.nvim for pickers/explorer/UI, Treesitter for editing,
and nvim-lspconfig + mason.nvim for language tooling (Ruby, TypeScript/JS, Lua first-class).
remote-sshfs.nvim β browse & edit remote filesystems over SSH via the Snacks picker
lazydocker.nvim β floating LazyDocker TUI
bufresize.nvim β keeps window proportions sane on resize
yuck.vim β syntax for Eww's yuck config files
lazy.nvim β the plugin manager driving all of the above
Present but not currently loaded:ai.lua (claude-code.nvim, avante.nvim), fun.lua
(tidal.nvim, strudel.nvim for livecoding), and orgmode.lua (orgmode, org-roam) define specs
that aren't included in lazy_setup.lua's spec table yet β kept around for quick re-enabling.
β¨οΈ Keymaps
Leader is <Space>. Groups below match the which-key groupings declared in lua/lazy_plugins/ui.lua.
πͺ Windows, Splits & Tabs
Key
Action
<C-h><C-j><C-k><C-l>
Move focus between splits
<leader>%
Split vertically
<leader>-
Split horizontally
<leader>tk
Turn a vertical split into a horizontal one
<leader>th
Turn a horizontal split into a vertical one
<M-S-h><M-S-l>
Grow window left / right
<M-S-k><M-S-j>
Grow / shrink window height
<S-l> / <S-h>
Next / previous buffer
<M-l> / <M-h>
Next / previous tab
π Buffers β <leader>b
Key
Action
<leader>bd
Close current buffer
<leader>bp
Pin buffer
<leader>bc
Close every buffer except this one
<leader>br
Close buffers to the right
ποΈ Explorer & Pickers β <leader>t (Snacks)
Key
Action
<C-n>
Toggle the file explorer
<leader>tf
Find file
<leader>tF
Smart find (frecency/history-aware)
<leader>tc
Find a file inside the Neovim config
<leader>tb
List open buffers
<leader>tB
Grep across open buffers
<leader>tg
Live grep
<leader>tR
Browse Vim registers
πΏ Git β <leader>g
Key
Action
<leader>gn
Open Neogit
<leader>gl
Open LazyGit (also bound by Snacks to "Git Log" β LazyGit wins since it loads later)
<leader>gL
Git log for the current line
<leader>gs
Stage hunk (also bound by Snacks to "Git Status" β Stage hunk wins)
<leader>gd
Diff current buffer against index
<leader>gb
Toggle current-line git blame
<leader>gp
Preview hunk
<leader>gr
Reset hunk
<leader>gF
Browse git diff hunks (picker)
]c / [c
Next / previous git hunk
dc
Close Diffview
π§ Code & LSP β <leader>c
Buffer-local, active only once an LSP client attaches:
Key
Action
K
Hover documentation
gd
Go to definition
gD
Go to declaration
gi
Go to implementation
go
Go to type definition
gr
List references
gs
Signature help
<F2>
Rename symbol
<F3> (normal & visual)
Format buffer/selection
<F4>
Code action
Leader group:
Key
Action
<leader>ca
Floating code-action picker
<leader>cl
Restart the LSP client
<leader>cd
Buffer diagnostics list
<leader>cD
Diagnostics list
<leader>cr
List references (picker)
<leader>ci
Go to implementation (picker)
<leader>cf
Show document symbols
<leader>i
Open diagnostic float under cursor
<leader>f
Format file (conform.nvim, normal & visual)
π Search & Replace β <leader>s (Spectre)
Key
Action
<leader>S
Toggle Spectre
<leader>sw
Search word under cursor (visual: selection), project-wide
<leader>sf
Same, scoped to the current file
π± Harpoon β <leader>h
Key
Action
<leader>ha
Add current file to Harpoon
<leader>hh
Toggle the Harpoon quick menu
π Neorg β <leader>n
Key
Action
<leader>nw
Switch workspace
<leader>nh
Search headings
<leader>nf
Find .norg files
<leader>ni
Open index
<leader>nr
Return to previous location
<leader>ns
Cycle a todo item's state
π Notifications β <leader>k
Key
Action
<leader>kh
Show notification history
<leader>kc
Hide/clear notifications
π³ Docker β <leader>l
Key
Action
<leader>ld
Open LazyDocker
π Clipboard & Registers
Key
Action
<leader>w (visual)
Yank selection to the system clipboard
<leader>W (normal/visual)
Yank line/selection to the system clipboard
p / P
Paste the last yank (not deletes) after / before cursor
p (visual)
Paste over selection without clobbering the unnamed register
gp
Paste the unnamed register (last yank or delete)
π Search & Diagnostics Navigation
Key
Action
n / N
Next / previous search match, screen re-centered
]d / [d
Next / previous diagnostic, with a floating preview
<leader>h
Clear search highlight
<leader>fa
Toggle fold recursively under cursor
βοΈ Snippets (insert & select mode)
Key
Action
<C-k>
Expand snippet or jump to next placeholder
<C-j>
Jump to previous placeholder
<C-l>
Cycle to the next choice in a choice node
π¬ Comments
Key
Action
<leader>/ (normal)
Toggle line comment
<leader>/ (visual)
Toggle comment on selection
π₯οΈ Terminal
Key
Action
<M-1>
Toggle a vertical terminal
<M-2>
Toggle a horizontal terminal
πΊοΈ Diagrams (Markdown & Neorg buffers only)
Key
Action
M
Preview a Mermaid diagram under cursor
π οΈ Misc
Key
Action
<leader>e
Copy the current buffer's relative path to the clipboard