Keybindings
Every key can be rebound in ~/.config/gitty/config.toml under [keys], using
the config name:
[keys]fetch = "F5"down = ["j", "ctrl-n"]A rebound action loses its default keys. Text inputs — the commit box, prompts, the search bar — are never remapped.
Conflicts are reported at startup: one key bound to two of your actions that
share a screen (the first in the file keeps it), a default action left with no
key, an unknown action name or key. Ctrl-C and Ctrl-Z always quit and
suspend.
| Keys | Action | Config name |
|---|---|---|
o |
Conflict: keep the first side (Current; Base branch in a rebase) | conflict_ours |
t |
Conflict: take the second side (Incoming; Your commit in a rebase) | conflict_theirs |
b |
Conflict: keep both, first side then second | conflict_both |
n |
Conflict: next conflict in the file | conflict_next |
p |
Conflict: previous conflict in the file | conflict_prev |
u |
Conflict: undo the last resolution of this file | conflict_undo |
e |
Conflict: open the file in $EDITOR at the conflict | conflict_edit |
q |
quit | quit |
1 |
Changes tab | changes_tab |
2 |
History tab | history_tab |
3 |
Files tab | files_tab |
f |
fetch | fetch |
p |
pull | pull |
P |
push | push |
x |
cancel the running fetch, pull or push | cancel |
O |
open the diff in the difftool | difftool |
R |
open the branch’s open pull request in the browser (needs the gh CLI; otherwise the new-PR page) |
open_pr |
T |
theme picker | theme |
B |
branches: switch, create, rename, delete, merge | branches |
S |
stashes: apply, pop, drop | stashes |
m |
the merge, rebase, cherry-pick or revert in progress: continue or abort it | operation |
? |
this help | help |
! |
details of the last error | error_details |
h ← |
compare: previous tab | compare_prev_tab |
l → |
compare: next tab | compare_next_tab |
c |
Changes: write the commit message | commit_box |
A |
Changes: amend the last commit | amend |
u |
Changes: undo the last commit | undo_commit |
Z |
Changes: stash all changes | stash_push |
Space |
Changes: stage file / line (again: unstage) | stage |
a |
Changes: stage everything / the whole file | stage_all |
d |
Changes: discard file / lines (asks first) | discard |
F |
Changes: filter the file list | filter |
v |
Changes: select a range of lines | line_range |
H |
Changes: stage the hunk | stage_hunk |
v |
Files: show or hide a secret file (.env, keys…) | reveal_secret |
e |
Files: open the file in $EDITOR | open_editor |
i |
Files: show or hide ignored files | toggle_ignored |
h ← |
Files: close the directory (or go to its parent) | files_collapse |
l → |
Files: open the directory | files_expand |
/ |
search history (text, path:dir) | search |
n |
next search match | next_match |
N |
previous search match | prev_match |
V |
select a range of commits | range |
b |
compare with a branch | compare |
t |
file list as a tree | tree |
r |
branch + upstream ↔ all refs | scope |
y |
copy the short SHA | copy_sha |
Y |
copy the full SHA | copy_full_sha |
o |
expand the commit header | header |
D |
date format | dates |
z |
row density | density |
L |
show or hide the commit graph | graph |
h ← |
scroll the diff left | scroll_left |
l → |
scroll the diff right | scroll_right |
[ |
previous hunk | prev_hunk |
] |
next hunk | next_hunk |
{ |
previous file | prev_file |
} |
next file | next_file |
e |
more context near the cursor | expand |
E |
whole file | expand_file |
s |
split ↔ unified | split |
w |
whitespace mode | whitespace |
W |
wrap long lines | wrap |
F |
full-screen diff | fullscreen |
< |
shrink the focused pane | narrower |
> |
grow the focused pane | wider |
j ↓ |
move down | down |
k ↑ |
move up | up |
Ctrl-d |
half a page down | half_page_down |
Ctrl-u |
half a page up | half_page_up |
Ctrl-f PgDn |
a page down | page_down |
Ctrl-b PgUp |
a page up | page_up |
g Home |
first row | top |
G End |
last row | bottom |
Tab |
next pane | next_pane |
Shift-Tab |
previous pane | prev_pane |
Enter |
open / drill in (a directory: fold) | open |
Esc |
back (ends a range, search or compare) | back |
Mouse bindings cannot be remapped: click to select, scroll any pane, drag the
diff gutter to pick lines, Shift-click for a commit range, double-click to open
a file or diff line in $EDITOR.