From b6c2c64f9b7e1ac034a35ccf3f5e0d7845fcdd77 Mon Sep 17 00:00:00 2001 From: Danny <659908+Dannyzen@users.noreply.github.com> Date: Mon, 28 Jul 2025 15:35:06 -0400 Subject: [PATCH] Adds docs outlining keyboard shortcuts for gemini-cli (#4727) Co-authored-by: dannyzen Co-authored-by: Jacob Richman --- docs/keyboard-shortcuts.md | 62 +++++++++++++++++++++++++ packages/cli/src/ui/components/Help.tsx | 47 +++++++++++++------ 2 files changed, 95 insertions(+), 14 deletions(-) create mode 100644 docs/keyboard-shortcuts.md diff --git a/docs/keyboard-shortcuts.md b/docs/keyboard-shortcuts.md new file mode 100644 index 00000000..37e47045 --- /dev/null +++ b/docs/keyboard-shortcuts.md @@ -0,0 +1,62 @@ +# Gemini CLI Keyboard Shortcuts + +This document lists the available keyboard shortcuts in the Gemini CLI. + +## General + +| Shortcut | Description | +| -------- | --------------------------------------------------------------------------------------------------------------------- | +| `Esc` | Close dialogs and suggestions. | +| `Ctrl+C` | Exit the application. Press twice to confirm. | +| `Ctrl+D` | Exit the application if the input is empty. Press twice to confirm. | +| `Ctrl+L` | Clear the screen. | +| `Ctrl+O` | Toggle the display of the debug console. | +| `Ctrl+S` | Allows long responses to print fully, disabling truncation. Use your terminal's scrollback to view the entire output. | +| `Ctrl+T` | Toggle the display of tool descriptions. | +| `Ctrl+Y` | Toggle auto-approval (YOLO mode) for all tool calls. | + +## Input Prompt + +| Shortcut | Description | +| -------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------- | +| `!` | Toggle shell mode when the input is empty. | +| `\` (at end of line) + `Enter` | Insert a newline. | +| `Down Arrow` | Navigate down through the input history. | +| `Enter` | Submit the current prompt. | +| `Meta+Delete` / `Ctrl+Delete` | Delete the word to the right of the cursor. | +| `Tab` | Autocomplete the current suggestion if one exists. | +| `Up Arrow` | Navigate up through the input history. | +| `Ctrl+A` / `Home` | Move the cursor to the beginning of the line. | +| `Ctrl+B` / `Left Arrow` | Move the cursor one character to the left. | +| `Ctrl+C` | Clear the input prompt | +| `Ctrl+D` / `Delete` | Delete the character to the right of the cursor. | +| `Ctrl+E` / `End` | Move the cursor to the end of the line. | +| `Ctrl+F` / `Right Arrow` | Move the cursor one character to the right. | +| `Ctrl+H` / `Backspace` | Delete the character to the left of the cursor. | +| `Ctrl+K` | Delete from the cursor to the end of the line. | +| `Ctrl+Left Arrow` / `Meta+Left Arrow` / `Meta+B` | Move the cursor one word to the left. | +| `Ctrl+N` | Navigate down through the input history. | +| `Ctrl+P` | Navigate up through the input history. | +| `Ctrl+Right Arrow` / `Meta+Right Arrow` / `Meta+F` | Move the cursor one word to the right. | +| `Ctrl+U` | Delete from the cursor to the beginning of the line. | +| `Ctrl+V` | Paste clipboard content. If the clipboard contains an image, it will be saved and a reference to it will be inserted in the prompt. | +| `Ctrl+W` / `Meta+Backspace` / `Ctrl+Backspace` | Delete the word to the left of the cursor. | +| `Ctrl+X` / `Meta+Enter` | Open the current input in an external editor. | + +## Suggestions + +| Shortcut | Description | +| --------------- | -------------------------------------- | +| `Down Arrow` | Navigate down through the suggestions. | +| `Tab` / `Enter` | Accept the selected suggestion. | +| `Up Arrow` | Navigate up through the suggestions. | + +## Radio Button Select + +| Shortcut | Description | +| ------------------ | ------------------------------------------------------------------------------------------------------------- | +| `Down Arrow` / `j` | Move selection down. | +| `Enter` | Confirm selection. | +| `Up Arrow` / `k` | Move selection up. | +| `1-9` | Select an item by its number. | +| (multi-digit) | For items with numbers greater than 9, press the digits in quick succession to select the corresponding item. | diff --git a/packages/cli/src/ui/components/Help.tsx b/packages/cli/src/ui/components/Help.tsx index ecad9b5e..d9f7b4a8 100644 --- a/packages/cli/src/ui/components/Help.tsx +++ b/packages/cli/src/ui/components/Help.tsx @@ -103,9 +103,15 @@ export const Help: React.FC = ({ commands }) => ( - Enter + Alt+Left/Right {' '} - - Send message + - Jump through words in the input + + + + Ctrl+C + {' '} + - Quit application @@ -117,21 +123,15 @@ export const Help: React.FC = ({ commands }) => ( - Up/Down + Ctrl+L {' '} - - Cycle through your prompt history + - Clear the screen - Alt+Left/Right + {process.platform === 'darwin' ? 'Ctrl+X / Meta+Enter' : 'Ctrl+X'} {' '} - - Jump through words in the input - - - - Shift+Tab - {' '} - - Toggle auto-accepting edits + - Open input in external editor @@ -139,6 +139,12 @@ export const Help: React.FC = ({ commands }) => ( {' '} - Toggle YOLO mode + + + Enter + {' '} + - Send message + Esc @@ -147,9 +153,22 @@ export const Help: React.FC = ({ commands }) => ( - Ctrl+C + Shift+Tab {' '} - - Quit application + - Toggle auto-accepting edits + + + + Up/Down + {' '} + - Cycle through your prompt history + + + + For a full list of shortcuts, see{' '} + + docs/keyboard-shortcuts.md + );