Keybinding Reference

All default keybindings organized by context. grüt ships with three keybinding schemes — default, vim, andclassic — configurable via keybinding_scheme in your config.

grüt
Help overlay showing keybinding reference
Help overlay with keybinding reference (press ? to open)

Global

These bindings work everywhere, regardless of the focused panel.

KeyAction
1Focus File Tree panel
2Focus Git Info panel
3Focus GitHub panel
4Focus Commits panel
5Focus Preview panel
Ctrl+b zZoom focused panel
Alt+LeftNavigate back
Alt+RightNavigate forward
RRefresh all data + preview
PPush
FFetch all remotes
?Help overlay
Ctrl+gGit command log
,Settings
/Fuzzy finder
TFind TODO/FIXME markers
Ctrl+Shift+FSearch repository text
:Command palette
~Change directory
Ctrl+cQuit
Ctrl+SpaceToggle AI chat
Ctrl+zUndo last git action
Ctrl+yRedo

Navigation

Consistent movement keys shared across every focused panel.

KeyAction
j / ↓Cursor down
k / ↑Cursor up
gJump to top
GJump to bottom
dPage down
uPage up
EnterSelect / open / expand
EscBack / close submode

File Tree (panel 1)

Keybindings active when the File Tree panel is focused.

KeyAction
h / ←Collapse directory
l / →Expand directory
EnterExpand dir / select file
oOpen file in external editor
.Toggle hidden files
fToggle git filter (changed files only)
gCycle filter: all → git changed → branch diff
vToggle tree / list view
nNew file
NNew directory
xDelete file / directory
e / F2Rename
yCopy path to clipboard
cCopy file
pPaste file
sStage file (in git filter mode)
SpaceToggle stage / unstage
JScroll preview down
KScroll preview up

Git Info (panel 2)

Keybindings for the Git Info panel. Switch tabs with single keys.

Tabs

KeyAction
bBranches tab
wWorktrees tab
rRemotes tab
sStash tab
tTags tab
lReflog tab

Actions

KeyAction
EnterCheckout / apply
nCreate new item
xDelete selected
e / F2Rename
oOpen in browser
yCopy to clipboard
fFetch / filter
/Filter list
=Pin/clear compare base
pPull selected branch
BPull selected branch with rebase
PPush selected branch (Branches tab) / Push tag (Tags tab)

GitHub (panel 3)

Keybindings for the GitHub panel. Switch tabs with single keys.

Tabs

KeyAction
bBranches tab
tTags tab
iIssues tab
pPull Requests tab
aActions tab
wWorkflows tab
lReleases tab

Actions

KeyAction
EnterSelect (show in preview)
oOpen in browser
yCopy to clipboard
mMerge PR (PRs tab only)
cCheck out PR (PRs tab) / close-reopen issue (Issues tab) / compare with previous release (Releases tab)
CComment on issue/PR (Issues/PRs tab only)
/Filter loaded issues/PRs by title or number (Issues/PRs tab only)
rRerun (Actions tab only)
xCancel (Actions tab only)
VToggle live log follow (Actions tab only)
SpacePause/resume live log follow (Actions tab only)
g / GJump to top / bottom in the job log preview
yCopy selected job log text in the preview
DDispatch workflow (Workflows tab only)

Commits (panel 4)

Keybindings for the Commits panel.

KeyAction
EnterView commit detail
EscBack to list
EExplain commit in AI chat
oOpen in browser
yCopy SHA
AAmend last commit
rReword last commit
/Search commits

Preview (panel 5)

KeyAction
j / kScroll content
g / GJump to top / bottom
d / uPage down / up
wToggle word wrap
Ctrl+FSearch in preview
n / NNext / previous search match
eEnter inline edit mode
EExplain current file, diff, or commit in AI chat
cComment on the selected PR diff line (PR diff context)
BToggle blame
oOpen blame line's commit (blame mode)
Ctrl+SSave edits (edit mode)
y / Ctrl+CCopy selection to clipboard
EscClear selection / exit edit mode

Click and drag to select text. Double-click to select a word.

Keybinding Schemes

grüt supports three keybinding schemes. The bindings listed above are thedefault scheme. You can switch schemes in your config:

[general]
keybinding_scheme = "vim"   # "default" | "vim" | "classic"
  • default — the bindings shown on this page
  • vim — vim-style motions with additional dd, yy, and visual-mode-style selection
  • classic — keybindings for users who prefer classic TUI conventions

All schemes share the same global bindings (Ctrl+c,?, Tab, number keys). The differences are in navigation and git operation keys.