# Module 2: Keyboard Shortcuts ## Navigation & Editing | Shortcut | Action | |----------|--------| | `@` | Mention files — include their contents as context | | `Ctrl+S` | Submit prompt while preserving input text | | `Shift+Tab` | Cycle modes: Interactive → Plan | | `Ctrl+T` | Toggle model reasoning display | | `Ctrl+O` | Expand recent timeline (when no input) | | `Ctrl+E` | Expand all timeline (when no input) / move to end of line (when typing) | | `↑` `↓` | Navigate command history | | `!` | Execute shell command directly (bypass AI) | | `Esc` | Cancel current operation | | `Ctrl+C` | Cancel operation / clear input / exit | | `Ctrl+D` | Shutdown session | | `Ctrl+L` | Clear the screen | | `Ctrl+G` | Edit prompt in external editor ($EDITOR) | ## Line Editing | Shortcut | Action | |----------|--------| | `Ctrl+A` | Move to beginning of line | | `Ctrl+H` | Delete previous character | | `Ctrl+W` | Delete previous word | | `Ctrl+U` | Delete from cursor to beginning of line | | `Ctrl+K` | Delete from cursor to end of line | | `Meta+←` `Meta+→` | Move cursor by word | ## Pro tips to teach - `@` is THE most important shortcut — it's how you give precise context - `!git status` runs git directly without AI processing - `Shift+Tab` into Plan mode BEFORE complex tasks - `Ctrl+G` opens your $EDITOR for long prompts — game changer - `Ctrl+S` lets you iterate on a prompt without retyping