Keyboard shortcuts
All shortcuts are active in the interactive TUI. Keys are case-sensitive — most use lowercase letters, but a few bindings (such as Z and G) require an uppercase letter.
Navigation
| Key | Action |
|---|---|
↑ / k | Move cursor up (repos and extracts) |
↓ / j | Move cursor down (repos and extracts) |
← | Fold the repo under the cursor |
→ | Unfold the repo under the cursor |
Z | Global fold / unfold — fold all repos if any is unfolded; unfold all if all are folded |
gg | Jump to the top (first result) |
G | Jump to the bottom (last result) |
Page Up / Ctrl+U | Scroll up one full page |
Page Down / Ctrl+D | Scroll down one full page |
Section header rows (shown when --group-by-team-prefix is active) are skipped automatically during navigation.
Selection
| Key | Action |
|---|---|
Space | Toggle selection on the current repo or extract. On a repo row: cascades to all its extracts. |
a | Select all. On a repo row: selects all repos and their extracts. On an extract row: selects all extracts in the current repo. Respects active filters. |
n | Select none. Same context rules as a. Respects active filters. |
o | Open in browser — opens the focused item in the default browser. On a repo row: opens the repository page. On an extract row: opens the file directly. |
Filtering
| Key | Action |
|---|---|
f | Open the filter bar and enter filter mode |
t | Cycle the filter target: path → content → repo → path. Only works outside filter mode and when not on a picked repo (see Team ownership below). |
r | Reset the active filter and return to showing all repos / extracts |
Filter targets
| Target | What is matched | Shown / hidden unit |
|---|---|---|
path | File path substring (default). Case-insensitive. | Individual extracts |
content | Code fragment text (the snippet returned by GitHub Search). Case-insensitive. | Individual extracts |
repo | Repository full name (org/repo). Case-insensitive. | Entire repo + extracts |
The active target is always shown in the filter bar badge: [path], [content], or [repo] (with ·regex appended when regex mode is on).
Filter mode bindings
When the filter bar is open (after pressing f):
| Key | Action |
|---|---|
| Printable characters / paste | Insert character(s) at the cursor position |
← / → | Move the text cursor one character left / right |
⌥← / ⌥→ (macOS) · Ctrl+← / Ctrl+→ · Alt+b / Alt+f | Jump one word left / right |
Backspace | Delete the character before the cursor |
⌥⌫ (macOS) · Ctrl+W | Delete the word before the cursor |
Tab | Toggle regex mode (badge shows […·regex] when on) |
Shift+Tab | Cycle the filter target (path → content → repo → path) |
Enter | Confirm the filter and apply it |
Esc | Cancel without applying the filter |
TIP
Invalid regex patterns do not crash the TUI but are treated as matching nothing (zero visible rows). The badge is always yellow when regex mode is active, regardless of whether the pattern is valid.
Team ownership
Available only when --group-by-team-prefix is active.
| Key | Action |
|---|---|
p | On a multi-team section header: enter team pick mode to assign the section to a single owner. Does nothing on single-team section headers. |
t | On a picked repo (marked ◈, moved by a previous pick): enter re-pick mode to change its team assignment or restore it to the combined section. |
Pick mode bindings
When pick mode is active (after pressing p on a multi-team section header):
| Key | Action |
|---|---|
← / → | Move focus between candidate teams (highlighted / dimmed) |
Enter | Confirm the pick and exit pick mode |
Esc | Cancel and exit pick mode without changes |
Re-pick mode bindings
When re-pick mode is active (after pressing t on a picked repo marked ◈):
| Key | Action |
|---|---|
← / → | Cycle through candidate teams (from the original combined section label) |
Enter | Confirm and move the repo to the focused candidate team |
0 / u | Undo the entire section pick — restore all repos from that combined section to their original label |
Esc / t | Exit re-pick mode without changes |
Help and exit
| Key | Action |
|---|---|
h / ? | Toggle the help overlay (shows all key bindings) |
Enter | When help overlay is closed: confirm and print selected results. When open: close the overlay. |
q / Ctrl+C | Quit without printing results |