Keyboard Reference
Press ? in any panel for bindings scoped to that panel plus global
keys. Everything below is remappable — see
Configuration → Keybindings.
Global
| Key |
Action |
| 1 / 2 / 3 / 4 |
Status / Stash / Branch / Commit |
| Tab / Shift+Tab |
Cycle panels |
| ; |
Command palette |
| ? |
Help (click row, double-click to run binding) |
| U |
Undo last session action (confirm) |
| Shift+U |
Browse undo stack |
| P / F |
Push / Pull current branch |
| I |
Inspector for current selection |
| B |
Bisect sheet |
| Ctrl+P |
Toggle side preview (Status/Stash diff or Branch log graph) |
| Q / Esc |
Quit / back |
@ |
Repo switcher (managed repos) |
Header clicks: repo name opens the switcher; tab slots open an anchored panel
picker.
The welcome guide opens itself on first run. To see it again, run
"Show welcome guide" from Help (?), which lists keyless actions too — it has
no shortcut of its own on purpose.
Status
| Key |
Action |
| J / K |
Move selection |
| Enter |
Open diff (or expand/collapse directory in tree view) |
| A |
Stage file or visual selection |
| Shift+A |
Stage all listed files |
| D |
Discard changes |
| I |
Add to .gitignore |
| C |
Inline commit editor (staged files required) |
| Shift+C |
External $EDITOR commit |
| M |
Amend HEAD with staged changes |
| S |
Stash (optional message prompt, includes untracked) |
| V / Shift+V |
Visual multi-select / visual scroll |
| Space |
Toggle row selection (visual mode) |
| / |
Filter file list |
| Ctrl+T |
Tree / flat layout |
| H / L |
Collapse / expand directory (tree) |
| J / K (preview) |
Scroll side preview (Shift+J / Shift+K when not in visual mode) |
| Y |
Copy file path |
Stash
| Key |
Action |
| Enter |
Open stash diff |
| A |
Apply (keep in list) |
| P |
Pop |
| D |
Drop (confirm) |
Push stash from Status with S (optional message prompt).
Branch
| Key |
Action |
| Enter |
Show commits without checkout |
| C |
Checkout |
| N |
New branch |
| M |
Merge current into selected |
| R |
Interactive rebase onto selected branch |
| Shift+R |
Rename |
| D |
Delete |
| P |
Open create-PR URL in browser |
| Ctrl+F |
Cycle scope: local → remote → all |
| Shift+J / Shift+K |
Scroll log-graph preview |
Commit
| Key |
Action |
| Enter |
View commit diff |
| C |
Cherry-pick onto HEAD |
| O |
Browse another ref's log |
| Z |
Toggle expanded commit rows |
| Ctrl+R |
Toggle contribution graph strip |
| / |
Filter by message or SHA |
| Y |
Copy commit SHA |
Diff viewer
| Key |
Action |
| J / K / arrows |
Line up / down |
| Shift+J / Shift+K |
Page up / down |
| H / L / left / right |
Scroll columns |
[ / ] |
Previous / next hunk |
| H |
Toggle hunk mode |
| S / D |
Stage / discard hunk (hunk mode) |
| , / . |
Previous / next file in commit |
| V |
File history (commit diffs) |
| P / N |
Older / newer commit (file history) |
| Esc |
Close diff |
Command palette
| Input |
Action |
| ; |
Open palette |
| Space after command |
Switch to argument completion |
| Tab |
Fill highlighted candidate |
| Enter |
Run |
Parameterized: checkout, merge, stage, gitignore, reflog.
Rebase sheet
Opened from Branch R before the sequencer runs.
| Key |
Action |
| J / K |
Move in todo list |
| Shift+J / Shift+K |
Move commit down / up |
| P / S / F / R / E / D |
pick / squash / fixup / reword / edit / drop |
| Enter |
Confirm and start rebase |
| Esc |
Cancel |
While a sequencer is active, palette entries such as continue-merge,
rebase-continue, and cherry-pick-abort appear under ;.
Bisect sheet (B)
| Key |
Action |
| S |
Start (good [bad], bad defaults to HEAD) |
| G / B |
Mark current commit good / bad |
| R |
Reset bisect |
Esc / @ |
Close |
Worktree picker
From repo switcher, press W.
| Key |
Action |
| + |
Add linked worktree |
| - |
Remove (dirty requires --force confirm) |