Skip to content

Keybindings ​

Everything hangs off Space; press it and let which-key show the rest

Notation: Space is the leader, , the local leader, C-x is Ctrl, S-x is Shift. Mode is normal unless a table says otherwise. Mappings marked (ours) come from nvim/lua/plugins/ or the community recipes picked in nvim/lua/community.lua; the rest are AstroNvim v6 defaults.

Which-key groups ​

PrefixGroup
Space aAgents (ours)
Space bBuffers
Space dDebugger
Space fFind
Space gGit
Space lLanguage tools
Space OOcto, GitHub (ours)
Space pPackages
Space SSessions
Space tTerminal
Space uUI toggles
Space xTrouble and lists

Files and windows ​

KeyAction
Space wSave
Space qQuit window
Space QExit Neovim
Space nNew file
Space RRename file
Space hHome screen (dashboard)
Space eToggle Neo-tree
Space oFocus Neo-tree
| / \\Vertical / horizontal split
C-h C-j C-k C-lMove between splits (also in terminal)
C-Up C-Down C-Left C-RightResize split

Inside Neo-tree: a add, A add directory, d delete, r rename, y x p copy, cut, paste, c m copy or move to a path, Y copy path picker, s vsplit, S split, t tab, w open with window picker, H toggle hidden, / filter, . set root, Backspace up a level, [g ]g previous or next modified file, P preview, ? help.

Buffers and tabs ​

KeyAction
]b / [bNext / previous buffer
Space cClose buffer
Space CForce close buffer
Space bdPick a buffer to close from the tabline
Space bCClose all buffers
Space bpPrevious buffer
Space bs*Sort buffers by extension, path, number, modification
Space fbFind buffers (picker)
]t / [tNext / previous tab

Find (snacks picker) ​

KeyAction
Space ffFiles
Space fFAll files, including hidden
Space fwGrep the project
Space fWGrep including hidden files
Space fcGrep the word under the cursor
Space fsSmart: buffers, recent, files
Space foRecent files
Space fORecent files in cwd
Space fgGit files
Space fpProjects
Space flLines in the buffer
Space fhHelp tags
Space fkKeymaps
Space fCCommands
Space fmMan pages
Space frRegisters
Space f'Marks
Space fuUndo history
Space fnNotifications
Space ftColorschemes
Space fTTODO comments
Space faAstroNvim config files
Space f EnterResume the last picker

In a picker: C-j / C-k move, Enter open, C-v vsplit, C-s split, C-t send to Trouble, Esc close.

Language tools ​

KeyAction
gdDefinition
gDDeclaration
gIImplementation
gyType definition
gKSignature help
KHover
glHover diagnostics
Space laCode action (also in visual mode)
Space lASource action
Space lrRename symbol
Space lRReferences
Space lfFormat buffer with conform (ours)
Space lcConform info (ours)
Space ldHover diagnostics
Space lDSearch diagnostics
Space lsSearch document symbols
Space lSSymbols outline (aerial)
Space lGSearch workspace symbols
Space lhSignature help
Space liLSP info
Space llCodeLens refresh
Space lLCodeLens run
Space lvSelect Python virtualenv
]d / [dNext / previous diagnostic
]e / [eNext / previous error
]w / [wNext / previous warning

Completion in insert mode: C-Space open or toggle docs, C-n / C-p or C-j / C-k move, Enter accept, Tab / S-Tab next or previous snippet field, C-u / C-d scroll docs, C-e dismiss.

Trouble and lists ​

KeyAction
Space xxTrouble: buffer diagnostics
Space xXTrouble: workspace diagnostics
Space xtTrouble: TODO comments
Space xTTrouble: TODO, FIX and FIXME only
Space xLTrouble: location list
Space xQTrouble: quickfix list
Space xqOpen quickfix list
Space xlOpen location list
]T / [TNext / previous TODO comment

Inside Trouble: j / k move, Enter jump, q or Esc close.

Git ​

KeyAction
Space ggLazygit (ours)
Space tlLazygit (ours)
Space gfLazygit history for this file (ours)
Space goOpen the file on GitHub
Space gbGit branches
Space gcGit commits
Space gCGit commits for this buffer
Space gtGit status
Space gTGit stash
Space glBlame line (gitsigns)
Space gpPreview hunk
Space ghReset hunk
Space grReset buffer
Space gsStage hunk
Space gSStage buffer
Space guUnstage hunk
Space gdDiff this file
]g / [gNext / previous hunk
]G / [GLast / first hunk

Octo (GitHub) ​

KeyAction
Space OoOcto picker
Space OiList issues
Space OISearch issues
Space OpList pull requests
Space OPSearch pull requests
Space OrStart a review
Space OaRun a workflow
Space OnNotifications

Inside an Octo buffer, , is the local leader: ,ca comment, ,ic close, ,io reopen, ,po checkout PR, ,pm merge, ,vs start review, ,vr resume review, C-r reload, C-b open in browser. :Octo with no arguments lists every command.

Agents ​

KeyModeAction
Space avvisualSend selection to Claude
Space avnormalIn Neo-tree: send the file under cursor
Space abnormalAdd the current buffer
Space aanormalAccept the open diff
Space adnormalDeny the open diff
Space ainormalConnection status
Space acnormalherdr-nvim: annotate the current line
Space acvisualherdr-nvim: annotate the selection
Space alnormalherdr-nvim: list annotations
Space asnormalherdr-nvim: paste annotations to agent
Space aSnormalherdr-nvim: paste and submit

Terminal ​

KeyAction
F7Toggle terminal (normal, insert, terminal)
Space tfFloating terminal
Space thHorizontal terminal
Space tvVertical terminal
C-h C-j C-k C-lLeave the terminal toward a split

All of these use snacks.nvim. Toggleterm is disabled.

Editing ​

KeyAction
Space /Toggle comment (normal and visual)
gco / gcOComment below / above
Tab / S-TabIndent / unindent selection (visual)
jj / jkLeave insert mode
]r / [rNext / previous reference of the word
af if ac icFunction and class text objects
Space u(Toggle rainbow delimiters (buffer)
Space u)Toggle rainbow delimiters (global)

UI toggles ​

KeyAction
Space ubBackground light / dark
Space ucCompletion (buffer)
Space uCCompletion (global)
Space udDiagnostics
Space uDDismiss notifications
Space ufAutoformat (buffer)
Space uFAutoformat (global, off by default)
Space ugSign column
Space uhInlay hints (buffer)
Space uiIndent setting
Space ulStatusline
Space uLCodeLens
Space unLine numbering
Space upPaste mode
Space urReference highlighting
Space usSpellcheck
Space uSConceal
Space utTabline
Space uuURL highlight
Space uvVirtual text
Space uwWrap
Space uYSemantic highlighting (buffer)
Space uZZen mode
Space u|Toggle indent guides

Sessions and packages ​

KeyAction
Space SlLoad last session
Space SsSave session
Space StSave this tab's session
Space SfLoad a session
Space SdDelete a session
Space piLazy install
Space psLazy status
Space pSLazy sync
Space puLazy check updates
Space pULazy update
Space paUpdate Lazy and Mason
Space pmMason
Space pMMason tools update

Debugger ​

KeyAction
F5 / Space dcStart or continue
F9 / Space dbToggle breakpoint
F10 / Space doStep over
F11 / Space diStep into
S-F11 / Space dOStep out
F6 / Space dpPause
S-F5 / Space dQTerminate
Space dBClear breakpoints
Space drRestart
Space dRToggle REPL
Space dsRun to cursor
Space duToggle debugger UI
Space dhHover value
Space dEEvaluate selection (visual)

Released under the MIT License