Skip to main content

Keybindings Reference

This page lists all available keybindings in Gitti, organized by context and scenario.

Legend

  • * = Global keybinding (works in all contexts when NO popup is open)
  • * [!!] = Global keybinding that works even when a popup is open

Global Keybindings

KeyMarkerActionNotes
ctrl+c* [!!]Quit GittiForce quit, works even in popups
ctrl+s* [!!]Stage All FilesStages all modified files
ctrl+u* [!!]Unstage All FilesUnstages all staged files
ctrl+g* [!!]Open Author's GitHubOpens browser to author's GitHub
ctrl+l* [!!]Open Author's LinkedInOpens browser to author's LinkedIn
q or Q*Quit GittiOnly works when NO popup is open
?*Open Global Keybindings HelpShows all keybindings in a popup

Component Navigation

KeyActionNotes
1Focus Local Branches PanelSwitches focus to branch list
2Focus Modified Files PanelSwitches focus to file list
3Focus Stash PanelSwitches focus to stash list
tabCycle Forward Through ComponentsMoves to next panel
shift+tabCycle Backward Through ComponentsMoves to previous panel

List Navigation

KeyContextAction
or kIn any list panelMove up / Select previous item
or jIn any list panelMove down / Select next item
or kIn popup selection listsNavigate to previous option
or jIn popup selection listsNavigate to next option

Detail Panel Scrolling

KeyActionContext
or kScroll upWhen in Detail Component
or jScroll downWhen in Detail Component
or hScroll leftWhen in Detail Component
or lScroll rightWhen in Detail Component

Local Branches Panel

KeyActionWhen
nCreate New BranchOpens branch creation flow
enterSwitch to Selected BranchOpens switch branch popup if needed
DDelete Selected BranchDeletes branch (no confirmation)
rRename Selected BranchOpens rename input popup

Modified Files Panel

KeyActionWhen
spaceToggle Stage/UnstageToggles file between staged and unstaged
enterView File DiffShows diff in detail panel
dDiscard ChangesOpens discard confirmation flow
sStash Selected FileOpens stash message input popup
SStash All FilesOpens stash message input popup
cCommitOpens commit popup
AAmend CommitOpens amend commit popup

Stash Panel

KeyActionWhen
spaceApply StashApplies stash but keeps it in list
backspacePop StashApplies stash and removes from list
dDrop StashPermanently deletes stash

Remote Operations

KeyActionWhen
pPushOpens push flow (remote selection → push options)
PPullOpens pull flow (pull type selection)

Text Input Popups

Applies to: Commit, Amend Commit, Add Remote, Create Branch, Stash Message

KeyActionNotes
ctrl+eSubmitSubmits the form (used for multi-line text areas)
enterSubmitFOR single-line inputs only (branch name, stash message, remote fields)
escCancelCloses popup without saving
tabNext FieldMoves to next input field (if multiple fields exist)
shift+tabPrevious FieldMoves to previous input field (if multiple fields exist)

Selection Popups

Applies to: Branch Type, Switch Type, Push Type, Pull Type, Remote Selection, Discard Type

KeyActionNotes
or kNavigate UpSelect previous option
or jNavigate DownSelect next option
enterConfirm SelectionProceeds with selected option
escCancelCloses popup without action

Output/Result Popups

Applies to: Push Output, Pull Output, Switch Branch Output

KeyActionNotes
escClose PopupDismisses the output popup

Keybinding Help Popup

KeyActionNotes
or kScroll UpScroll through keybinding list
or jScroll DownScroll through keybinding list
escClose HelpClose the help popup

Detail View (Right Panel)

KeyActionNotes
escReturn to ListExits detail view, returns focus to list panel
or kScroll UpScroll diff content up
or jScroll DownScroll diff content down
or hScroll LeftScroll diff content left
or lScroll RightScroll diff content right

Summary

  • * [!!] keybindings work everywhere, including inside popups
  • * keybindings work globally but NOT when a popup is open
  • Context-specific keybindings only work in their respective panels
  • Popup keybindings depend on popup type (text input vs selection vs output)
  • esc is the universal way to close popups or exit detail view