summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docs/keyboard-shortcuts.md62
-rw-r--r--packages/cli/src/ui/components/Help.tsx43
2 files changed, 93 insertions, 12 deletions
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<Help> = ({ commands }) => (
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Enter
+ Alt+Left/Right
</Text>{' '}
- - Send message
+ - Jump through words in the input
+ </Text>
+ <Text color={Colors.Foreground}>
+ <Text bold color={Colors.AccentPurple}>
+ Ctrl+C
+ </Text>{' '}
+ - Quit application
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
@@ -117,27 +123,27 @@ export const Help: React.FC<Help> = ({ commands }) => (
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Up/Down
+ Ctrl+L
</Text>{' '}
- - Cycle through your prompt history
+ - Clear the screen
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Alt+Left/Right
+ {process.platform === 'darwin' ? 'Ctrl+X / Meta+Enter' : 'Ctrl+X'}
</Text>{' '}
- - Jump through words in the input
+ - Open input in external editor
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Shift+Tab
+ Ctrl+Y
</Text>{' '}
- - Toggle auto-accepting edits
+ - Toggle YOLO mode
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Ctrl+Y
+ Enter
</Text>{' '}
- - Toggle YOLO mode
+ - Send message
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
@@ -147,9 +153,22 @@ export const Help: React.FC<Help> = ({ commands }) => (
</Text>
<Text color={Colors.Foreground}>
<Text bold color={Colors.AccentPurple}>
- Ctrl+C
+ Shift+Tab
</Text>{' '}
- - Quit application
+ - Toggle auto-accepting edits
+ </Text>
+ <Text color={Colors.Foreground}>
+ <Text bold color={Colors.AccentPurple}>
+ Up/Down
+ </Text>{' '}
+ - Cycle through your prompt history
+ </Text>
+ <Box height={1} />
+ <Text color={Colors.Foreground}>
+ For a full list of shortcuts, see{' '}
+ <Text bold color={Colors.AccentPurple}>
+ docs/keyboard-shortcuts.md
+ </Text>
</Text>
</Box>
);