Merge pull request #930 from Perlence/fix/document-missing-hotkeys

docs(coding-agent): document missing hotkeys in README and /hotkeys
This commit is contained in:
Mario Zechner 2026-01-24 20:48:22 +01:00 committed by GitHub
commit 39b94ad7be
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
2 changed files with 12 additions and 3 deletions

View file

@ -343,9 +343,10 @@ Both modes are configurable via `/settings`: "one-at-a-time" delivers messages o
| Key | Action |
|-----|--------|
| Arrow keys | Move cursor / browse history (Up when empty) |
| Option+Left/Right | Move by word |
| Alt+Left/Right | Move by word |
| Ctrl+A / Home / Cmd+Left | Start of line |
| Ctrl+E / End / Cmd+Right | End of line |
| PageUp / PageDown | Scroll by page |
**Editing:**
@ -353,8 +354,8 @@ Both modes are configurable via `/settings`: "one-at-a-time" delivers messages o
|-----|--------|
| Enter | Send message |
| Shift+Enter | New line (Ctrl+Enter on Windows Terminal) |
| Ctrl+W / Option+Backspace | Delete word backwards |
| Alt+D / Option+Delete | Delete word forwards |
| Ctrl+W / Alt+Backspace | Delete word backwards |
| Alt+D / Alt+Delete | Delete word forwards |
| Ctrl+U | Delete to start of line |
| Ctrl+K | Delete to end of line |
| Ctrl+Y | Paste most recently deleted text |
@ -377,6 +378,7 @@ Both modes are configurable via `/settings`: "one-at-a-time" delivers messages o
| Ctrl+T | Toggle thinking block visibility |
| Ctrl+G | Edit message in external editor (`$VISUAL` or `$EDITOR`) |
| Ctrl+V | Paste image from clipboard |
| Alt+Enter | Queue follow-up message |
| Alt+Up | Restore queued messages to editor |
### Custom Keybindings
@ -402,6 +404,8 @@ All keyboard shortcuts can be customized via `~/.pi/agent/keybindings.json`. Eac
| `cursorWordRight` | `alt+right`, `ctrl+right` | Move cursor word right |
| `cursorLineStart` | `home`, `ctrl+a` | Move to line start |
| `cursorLineEnd` | `end`, `ctrl+e` | Move to line end |
| `pageUp` | `pageUp` | Scroll up by page |
| `pageDown` | `pageDown` | Scroll down by page |
| `deleteCharBackward` | `backspace` | Delete char backward |
| `deleteCharForward` | `delete` | Delete char forward |
| `deleteWordBackward` | `ctrl+w`, `alt+backspace` | Delete word backward |

View file

@ -3898,6 +3898,8 @@ export class InteractiveMode {
const cursorWordRight = this.getEditorKeyDisplay("cursorWordRight");
const cursorLineStart = this.getEditorKeyDisplay("cursorLineStart");
const cursorLineEnd = this.getEditorKeyDisplay("cursorLineEnd");
const pageUp = this.getEditorKeyDisplay("pageUp");
const pageDown = this.getEditorKeyDisplay("pageDown");
// Editing keybindings
const submit = this.getEditorKeyDisplay("submit");
@ -3918,6 +3920,7 @@ export class InteractiveMode {
const suspend = this.getAppKeyDisplay("suspend");
const cycleThinkingLevel = this.getAppKeyDisplay("cycleThinkingLevel");
const cycleModelForward = this.getAppKeyDisplay("cycleModelForward");
const selectModel = this.getAppKeyDisplay("selectModel");
const expandTools = this.getAppKeyDisplay("expandTools");
const toggleThinking = this.getAppKeyDisplay("toggleThinking");
const externalEditor = this.getAppKeyDisplay("externalEditor");
@ -3932,6 +3935,7 @@ export class InteractiveMode {
| \`${cursorWordLeft}\` / \`${cursorWordRight}\` | Move by word |
| \`${cursorLineStart}\` | Start of line |
| \`${cursorLineEnd}\` | End of line |
| \`${pageUp}\` / \`${pageDown}\` | Scroll by page |
**Editing**
| Key | Action |
@ -3956,6 +3960,7 @@ export class InteractiveMode {
| \`${suspend}\` | Suspend to background |
| \`${cycleThinkingLevel}\` | Cycle thinking level |
| \`${cycleModelForward}\` | Cycle models |
| \`${selectModel}\` | Open model selector |
| \`${expandTools}\` | Toggle tool output expansion |
| \`${toggleThinking}\` | Toggle thinking block visibility |
| \`${externalEditor}\` | Edit message in external editor |