From 8e8e7b33edcdac732931c174c24e4d1dd5442d8d Mon Sep 17 00:00:00 2001 From: Jacob Richman Date: Mon, 26 Jan 2026 18:14:03 -0800 Subject: [PATCH] Ctrl-O (#17617) --- docs/cli/keyboard-shortcuts.md | 28 +++++++++---------- packages/cli/src/config/keyBindings.ts | 5 +++- .../src/ui/components/ShowMoreLines.test.tsx | 2 +- .../cli/src/ui/components/ShowMoreLines.tsx | 2 +- packages/cli/src/ui/constants/tips.ts | 2 +- packages/cli/src/ui/keyMatchers.test.ts | 5 +++- 6 files changed, 25 insertions(+), 19 deletions(-) diff --git a/docs/cli/keyboard-shortcuts.md b/docs/cli/keyboard-shortcuts.md index 16a6c9d765..2f68412958 100644 --- a/docs/cli/keyboard-shortcuts.md +++ b/docs/cli/keyboard-shortcuts.md @@ -94,20 +94,20 @@ available combinations. #### App Controls -| Action | Keys | -| ----------------------------------------------------------------------------------------------------- | ---------------- | -| Toggle detailed error information. | `F12` | -| Toggle the full TODO list. | `Ctrl + T` | -| Show IDE context details. | `Ctrl + G` | -| Toggle Markdown rendering. | `Alt + M` | -| Toggle copy mode when in alternate buffer mode. | `Ctrl + S` | -| Toggle YOLO (auto-approval) mode for tool calls. | `Ctrl + Y` | -| Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). | `Shift + Tab` | -| Expand a height-constrained response to show additional lines when not in alternate buffer mode. | `Ctrl + S` | -| Focus the shell input from the gemini input. | `Tab (no Shift)` | -| Focus the Gemini input from the shell input. | `Tab` | -| Clear the terminal screen and redraw the UI. | `Ctrl + L` | -| Restart the application. | `R` | +| Action | Keys | +| ----------------------------------------------------------------------------------------------------- | -------------------------- | +| Toggle detailed error information. | `F12` | +| Toggle the full TODO list. | `Ctrl + T` | +| Show IDE context details. | `Ctrl + G` | +| Toggle Markdown rendering. | `Alt + M` | +| Toggle copy mode when in alternate buffer mode. | `Ctrl + S` | +| Toggle YOLO (auto-approval) mode for tool calls. | `Ctrl + Y` | +| Cycle through approval modes: default (prompt), auto_edit (auto-approve edits), and plan (read-only). | `Shift + Tab` | +| Expand a height-constrained response to show additional lines when not in alternate buffer mode. | `Ctrl + O`
`Ctrl + S` | +| Focus the shell input from the gemini input. | `Tab (no Shift)` | +| Focus the Gemini input from the shell input. | `Tab` | +| Clear the terminal screen and redraw the UI. | `Ctrl + L` | +| Restart the application. | `R` | diff --git a/packages/cli/src/config/keyBindings.ts b/packages/cli/src/config/keyBindings.ts index 2165e622dd..3a8b54d683 100644 --- a/packages/cli/src/config/keyBindings.ts +++ b/packages/cli/src/config/keyBindings.ts @@ -253,7 +253,10 @@ export const defaultKeyBindings: KeyBindingConfig = { [Command.TOGGLE_COPY_MODE]: [{ key: 's', ctrl: true }], [Command.TOGGLE_YOLO]: [{ key: 'y', ctrl: true }], [Command.CYCLE_APPROVAL_MODE]: [{ key: 'tab', shift: true }], - [Command.SHOW_MORE_LINES]: [{ key: 's', ctrl: true }], + [Command.SHOW_MORE_LINES]: [ + { key: 'o', ctrl: true }, + { key: 's', ctrl: true }, + ], [Command.FOCUS_SHELL_INPUT]: [{ key: 'tab', shift: false }], [Command.UNFOCUS_SHELL_INPUT]: [{ key: 'tab' }], [Command.CLEAR_SCREEN]: [{ key: 'l', ctrl: true }], diff --git a/packages/cli/src/ui/components/ShowMoreLines.test.tsx b/packages/cli/src/ui/components/ShowMoreLines.test.tsx index beec038bbe..2b5ec26b72 100644 --- a/packages/cli/src/ui/components/ShowMoreLines.test.tsx +++ b/packages/cli/src/ui/components/ShowMoreLines.test.tsx @@ -48,7 +48,7 @@ describe('ShowMoreLines', () => { } as NonNullable>); mockUseStreamingContext.mockReturnValue(streamingState); const { lastFrame } = render(); - expect(lastFrame()).toContain('Press ctrl-s to show more lines'); + expect(lastFrame()).toContain('Press ctrl-o to show more lines'); }, ); }); diff --git a/packages/cli/src/ui/components/ShowMoreLines.tsx b/packages/cli/src/ui/components/ShowMoreLines.tsx index 8823eee620..e19f877560 100644 --- a/packages/cli/src/ui/components/ShowMoreLines.tsx +++ b/packages/cli/src/ui/components/ShowMoreLines.tsx @@ -33,7 +33,7 @@ export const ShowMoreLines = ({ constrainHeight }: ShowMoreLinesProps) => { return ( - Press ctrl-s to show more lines + Press ctrl-o to show more lines ); diff --git a/packages/cli/src/ui/constants/tips.ts b/packages/cli/src/ui/constants/tips.ts index db6f0e2df9..456b26a9e8 100644 --- a/packages/cli/src/ui/constants/tips.ts +++ b/packages/cli/src/ui/constants/tips.ts @@ -88,7 +88,7 @@ export const INFORMATIVE_TIPS = [ 'Clear your screen at any time with Ctrl+L…', 'Toggle the debug console display with F12…', 'Toggle the todo list display with Ctrl+T…', - 'See full, untruncated responses with Ctrl+S…', + 'See full, untruncated responses with Ctrl+O…', 'Toggle auto-approval (YOLO mode) for all tools with Ctrl+Y…', 'Cycle through approval modes (Default, Plan, Auto-Edit) with Shift+Tab…', 'Toggle Markdown rendering (raw markdown mode) with Alt+M…', diff --git a/packages/cli/src/ui/keyMatchers.test.ts b/packages/cli/src/ui/keyMatchers.test.ts index 8c3edfcfb3..c330bf5d14 100644 --- a/packages/cli/src/ui/keyMatchers.test.ts +++ b/packages/cli/src/ui/keyMatchers.test.ts @@ -308,7 +308,10 @@ describe('keyMatchers', () => { }, { command: Command.SHOW_MORE_LINES, - positive: [createKey('s', { ctrl: true })], + positive: [ + createKey('s', { ctrl: true }), + createKey('o', { ctrl: true }), + ], negative: [createKey('s'), createKey('l', { ctrl: true })], },