Skip to content

Keybindings

Master your keyboard-driven workflow

This is your complete reference for all keybindings in this Neovim configuration. Everything is organized by category to help you discover powerful workflows. The leader key is Space.

Essential Concepts

Notation:

  • Space = Leader key
  • C-x = Ctrl + x
  • M-x = Alt/Option + x (Meta)
  • S-x = Shift + x

Modes:

  • n = Normal mode
  • i = Insert mode
  • v = Visual mode
  • t = Terminal mode

General Navigation

Window Management

KeyActionDescription
C-hMove to left windowNavigate between splits
C-jMove to window below
C-kMove to window above
C-lMove to right window
C-UpResize +2 verticalMake window taller
C-DownResize -2 verticalMake window shorter
C-LeftResize -2 horizontalMake window narrower
C-RightResize +2 horizontalMake window wider

Buffer Navigation

KeyActionDescription
]bNext bufferCycle through open files
[bPrevious buffer
Space bBuffer menuShows buffer commands
Space bdDelete buffer (pick)Choose buffer to close
Space bbBuffers listShows all buffers

Tab Management

KeyActionDescription
]tNext tabMove to next tab
[tPrevious tabMove to previous tab
Space tTab menuShows tab commands

File Explorer (Neo-tree)

KeyActionModeDescription
Space eToggle file treenOpen/close file explorer
Space oFocus file treenJump to file explorer

Inside Neo-tree:

KeyActionDescription
aAdd file/directoryCreate new file or folder
dDeleteDelete file or directory
rRenameRename file or directory
yCopyCopy to clipboard
xCutCut to clipboard
pPastePaste from clipboard
cCopy nameCopy filename to clipboard
CCopy relative pathCopy path relative to cwd
mMoveMove file to new location
oOpenOpen file
sOpen in splitOpen in horizontal split
SOpen in vsplitOpen in vertical split
tOpen in tabOpen in new tab
<CR>Open/toggle folderEnter/expand folder
hCollapse folderClose current folder
HToggle hidden filesShow/hide dotfiles
RRefreshReload file tree
?Show helpDisplay all keybindings
qCloseClose Neo-tree

Finding & Searching

Snacks Picker (Primary)

KeyActionDescription
Space f fFind filesFuzzy find files in project
Space f wFind word (grep)Search text in all files
Space f rRecent filesRecently opened files
Space f bFind buffersSearch through open buffers
Space f cConfig filesSearch Neovim config files

Inside Picker:

  • C-j / C-k - Move down/up
  • Enter - Select item
  • C-s - Open in split
  • C-v - Open in vsplit
  • Esc - Close picker

Telescope (Advanced)

KeyActionDescription
Space f FFind all filesInclude hidden/ignored files
Space f 'Find marksNavigate to marks
Space f hHelp tagsSearch help documentation
Space f kKeymapsSearch keybindings
Space f mMan pagesSearch man pages
Space f nNotificationsBrowse notification history
Space f oOld filesRecently opened files

LSP Actions

Code Intelligence

KeyActionDescription
gdGo to definitionJump to where symbol is defined
gDGo to declarationJump to symbol declaration
giGo to implementationJump to implementation
grGo to referencesShow all references
gyGo to type definitionJump to type definition
KHover documentationShow symbol documentation
gKSignature helpShow function signature

LSP Commands

KeyActionDescription
Space l aCode actionsShow available code actions
Space l dBuffer diagnosticsShow diagnostics for current buffer
Space l DProject diagnosticsShow all project diagnostics
Space l fFormat bufferFormat current file
Space l iLSP infoShow LSP server info
Space l rRename symbolRename symbol across project
Space l sDocument symbolsList symbols in file
Space l SWorkspace symbolsList symbols in workspace
Space l TLSP referencesLSP references via Trouble

Diagnostics Navigation

KeyActionDescription
]dNext diagnosticJump to next issue
[dPrevious diagnosticJump to previous issue
glShow line diagnosticsFloat with error details
C-\Toggle Trouble panelQuick diagnostic panel toggle

Trouble (Diagnostics Panel)

KeyActionDescription
Space l dBuffer diagnosticsTrouble panel for current file
Space l DProject diagnosticsTrouble panel for all files
Space l sSymbols outlineDocument symbols in Trouble
Space l TLSP referencesReferences/definitions via Trouble
C-\Quick toggleToggle diagnostics panel

Inside Trouble:

KeyActionDescription
<CR>Jump and closeGo to item and close panel
oJump and closeSame as Enter
<Tab>Toggle foldExpand/collapse item
j / kNext/previousNavigate items
]] / [[Next/previous itemAlternative navigation
qCloseClose Trouble panel
<Esc>CloseAlternative close
r / RRefreshReload diagnostics
?HelpShow all keybindings

AI Integration

Avante (Claude in Editor)

KeyActionDescription
Space a aAsk AIAsk Claude about selection/buffer
Space a eEdit with AIGet code suggestions from Claude
Space a rRefresh responseRegenerate AI response

Suggestions:

KeyActionDescription
M-lAccept suggestionApply AI suggestion
M-]Next suggestionCycle to next suggestion
M-[Previous suggestionCycle to previous suggestion
C-]Dismiss suggestionReject current suggestion

Navigation in Avante panel:

KeyActionDescription
]]Next sectionJump to next response section
[[Previous sectionJump to previous section
TabSwitch panesToggle between input and output
S-TabSwitch panes (reverse)Toggle in reverse

Diff resolution:

KeyActionDescription
c oChoose oursKeep your code
c tChoose theirsAccept AI suggestion
c aChoose allAccept all AI changes
c bChoose bothKeep both versions
c cChoose cursorResolve at cursor position
]xNext conflictJump to next conflict
[xPrevious conflictJump to previous conflict

Claude Code CLI

KeyActionDescription
C-,Toggle terminalOpen/close Claude Code terminal
Space a cToggle Claude CodeAlternative toggle
Space c CContinue conversationResume last Claude Code session
Space c VVerbose modeClaude Code with detailed output

Terminal Management

KeyActionModeDescription
C-tToggle terminaln, tOpen/close integrated terminal
C-,Claude terminaln, tClaude Code terminal

Terminal mode navigation:

  • C-h/j/k/l - Move between windows from terminal
  • C-t - Close terminal
  • C-, - Close Claude Code terminal

Git Integration

Git Commands

KeyActionDescription
Space g gGit browseOpen file in GitHub
Space g bGit blame lineShow git blame for line
Space g BGit browse (open)Open in browser
Space g fFile historyLazygit file history
Space g lLazygitOpen Lazygit
Space g LLazygit logShow git log

Gitsigns (Hunk Operations)

KeyActionDescription
]gNext hunkJump to next git change
[gPrevious hunkJump to previous git change
Space g hPreview hunkShow git diff for hunk
Space g sStage hunkStage current hunk
Space g rReset hunkDiscard hunk changes
Space g SStage bufferStage entire file
Space g uUndo stage hunkUnstage hunk

Editing Enhancements

Comments

KeyActionModeDescription
g c cToggle comment linenComment/uncomment line
g cToggle commentvComment selection
g b cToggle block commentnBlock comment line
g bToggle block commentvBlock comment selection

Text Objects & Selection

KeyActionDescription
]]Next referenceJump to next word reference
[[Previous referenceJump to previous word reference

Completion (Insert Mode)

KeyActionModeDescription
C-SpaceTrigger completioniShow completion menu
TabSelect nextiNext completion item
S-TabSelect previousiPrevious completion item
EnterConfirmiAccept completion
C-eClose menuiDismiss completion

Snippet navigation:

  • Tab - Next placeholder
  • S-Tab - Previous placeholder

UI Toggles

Visual Elements

KeyActionDescription
Space u aToggle autopairsEnable/disable autopairs
Space u bToggle backgroundLight/dark background
Space u cToggle completionEnable/disable nvim-cmp
Space u CToggle conceallevelShow/hide concealed text
Space u dToggle diagnosticsAll/some/none
Space u gToggle signcolumnShow/hide sign column
Space u iToggle indent guidesShow/hide indent lines
Space u lToggle statuslineShow/hide status bar
Space u nToggle line numbersShow/hide line numbers
Space u NToggle relative numbersRelative/absolute numbers
Space u pToggle paste modePaste mode on/off
Space u sToggle spell checkEnable/disable spell check
Space u SToggle syntaxEnable/disable syntax hl
Space u tToggle tablineShow/hide buffer tabs
Space u uToggle URL highlightingHighlight URLs
Space u wToggle word wrapEnable/disable line wrap
Space u yToggle syntax (buffer)Buffer-local syntax toggle
Space u YToggle semantic tokensLSP semantic highlighting

Notifications

KeyActionDescription
Space u nDismiss all notificationsClear notification popups

Debug Adapter Protocol

Debugging

KeyActionDescription
Space d bToggle breakpointSet/remove breakpoint
Space d BConditional breakpointBreakpoint with condition
Space d cContinueResume execution
Space d CRun to cursorContinue to cursor
Space d iStep intoStep into function
Space d oStep overStep over function
Space d OStep outStep out of function
Space d pPausePause execution
Space d rREPLOpen debug REPL
Space d sStart debuggingStart debug session
Space d tTerminateStop debugging
Space d uToggle UIShow/hide debug UI

Plugin Management

KeyActionDescription
Space p lLazyOpen Lazy plugin manager
Space p sMasonOpen Mason tool installer
Space p dProfiler scratchOpen profiler results

Session Management

KeyActionDescription
Space S sSave sessionSave current session
Space S lLoad sessionLoad previous session
Space S dDelete sessionDelete saved session
Space S fFind sessionBrowse sessions

Advanced Features

Macros

KeyActionModeDescription
q aRecord macronRecord macro to register 'a'
qStop recordingnStop macro recording
@ aPlay macronExecute macro from register 'a'
@@Repeat macronRepeat last macro

Marks

KeyActionDescription
m aSet markSet mark 'a' at cursor
' aJump to markJump to mark 'a'
Space f 'Find marksSearch marks with picker

Pro Tips

Workflow Optimization

  1. Learn the leader key menus - Press Space and wait a moment to see available commands
  2. Use Trouble for diagnostics - Space l d gives you a better view than inline diagnostics
  3. Master buffer navigation - ]b and [b are faster than finding files again
  4. Leverage AI wisely - Use Space a a for quick questions, C-, for larger refactors
  5. Git integration is powerful - Space g l opens Lazygit without leaving Neovim

Custom Keybinding Template

Add your own keybindings in nvim/lua/plugins/astrocore.lua:

lua
mappings = {
  n = {
    ["<leader>X"] = { "<cmd>MyCommand<cr>", desc = "My custom command" },
  },
}

Which-Key Integration

Press any leader key (Space, g, ], [) and pause - which-key will show you available completions. This is the best way to discover keybindings you didn't know existed.

Cheat Sheet Summary

Most used commands:

Space f f   - Find files
Space f w   - Grep files
Space e     - File explorer
C-,         - Claude Code
Space l d   - Diagnostics
g d         - Go to definition
K           - Hover docs
Space l a   - Code actions
Space l f   - Format

Master these, and you'll be productive immediately. The rest will come naturally as you explore.

Released under the MIT License