NEW: Claude Code Security — research preview →

Keyboard Shortcuts Master List

All keyboard shortcuts for GitHub Copilot, Cursor, and Claude Code side-by-side

ReferenceRead time: 8 min

title: "Keyboard Shortcuts Master List" description: "All keyboard shortcuts for GitHub Copilot, Cursor, and Claude Code side-by-side" section: "Reference" readTime: "8 min" badge: "Reference"

Keyboard Shortcuts Master List

Side-by-side reference for all AI coding tool shortcuts.

GitHub Copilot (VS Code)

Inline Suggestions

ActionWindows / LinuxmacOS
Accept full suggestionTabTab
Dismiss suggestionEscEsc
Accept next wordCtrl+RightCmd+Right
Next suggestionAlt+]Option+]
Previous suggestionAlt+[Option+[
Open suggestion panelCtrl+EnterCtrl+Enter
Trigger suggestion manuallyAlt+\Option+\

Chat

ActionWindows / LinuxmacOS
Open Chat viewCtrl+Alt+ICtrl+Cmd+I
Open Inline ChatCtrl+ICmd+I
Submit messageEnterEnter
New line in messageShift+EnterShift+Enter
Attach file (#file)Type #Type #
New chat sessionCtrl+N (in chat)Cmd+N (in chat)

Agent / Smart Actions

ActionWindows / LinuxmacOS
Generate commit messageCtrl+Shift+G → ✨Cmd+Shift+G → ✨
Fix selected codeSelect → right-click → Generate Code → FixSame
Explain selectionSelect → right-click → ExplainSame
Generate docsSelect (optional) → right-click → Generate Code → Generate DocsSame
Review selected codeSelect → right-click → Generate Code → ReviewSame

Cursor

Cursor merged Chat and Composer into a single Agent side panel in version 0.46. Cursor's shortcut docs list macOS keys; on Windows/Linux, Cmd becomes Ctrl and Opt becomes Alt (for example, Inline Edit is Cmd+K on Mac, Ctrl+K on Windows/Linux).

Agent (Chat)

ActionWindows / LinuxmacOS
Toggle Agent side panelCtrl+I or Ctrl+LCmd+I or Cmd+L
New chatCtrl+N or Ctrl+RCmd+N or Cmd+R
New chat tabCtrl+TCmd+T
Add selected code to chatCtrl+Shift+LCmd+Shift+L
Open mode menuCtrl+.Cmd+.
Rotate between Agent modesShift+TabShift+Tab
Submit message (queued if Agent is busy)EnterEnter
Send immediatelyCtrl+EnterCmd+Enter
Cancel generationCtrl+Shift+BackspaceCmd+Shift+Backspace
Reference a file or folderType @Type @
Reference terminal output@Terminals@Terminals
Reference a previous chat@Chats@Chats
Reference git changes@Commit / @Branch@Commit / @Branch

Tab (Inline Completion)

ActionWindows / LinuxmacOS
Accept full suggestionTabTab
Dismiss suggestionEscEsc
Accept next wordCtrl+RightCmd+Right

Editor

ActionWindows / LinuxmacOS
Inline Edit (selection or terminal)Ctrl+KCmd+K
Toggle Agent layoutCtrl+ECmd+E
Open command paletteCtrl+Shift+PCmd+Shift+P
Open Cursor settingsCtrl+Shift+JCmd+Shift+J

Claude Code (Terminal)

Claude Code is terminal-first — these are keyboard shortcuts within the interactive session.

ActionShortcut
Send messageEnter
New line in messageShift+Enter (iTerm2, WezTerm, Ghostty, Kitty, Warp, Apple Terminal, Windows Terminal), or \ + Enter / Ctrl+J in any terminal
Answer a permission promptArrow keys to choose Yes / Yes, and don't ask again / No, then Enter
Decline a permission promptEsc
Interrupt Claude mid-turn (keeps work so far)Esc
Clear input draft, or open rewind menu (empty input)Esc Esc
Interrupt, or clear input (press again to exit)Ctrl+C
Quit sessionCtrl+D twice, or /exit (alias /quit)
Cycle permission modes (Manual, accept edits, plan, ...)Shift+Tab
Switch modelAlt+P (Option+P on macOS)
Toggle extended thinkingAlt+T (Option+T on macOS)
Reverse-search prompt historyCtrl+R
Toggle transcript viewer (detailed tool output)Ctrl+O
Background a running command or agentCtrl+B (press twice in tmux)
Toggle Claude's to-do checklistCtrl+T
Open prompt in external editorCtrl+G
Paste image from clipboardCtrl+V (Alt+V on Windows/WSL)
Stash / restore promptCtrl+S
Undo last input editCtrl+_
Redraw a garbled screenCtrl+L
Show shortcut help panel? on empty input
Run a shell command directly! at start of input
Mention a file@
Commands and skills/ at start of input
Show help/help
Clear conversation/clear
Show session info/status

Readline-style editing also works in the prompt: Ctrl+A / Ctrl+E (line start/end), Ctrl+K / Ctrl+U (delete to end/start), Ctrl+W (delete back to whitespace), Ctrl+Y (paste deleted text), and Alt+B / Alt+F (word back/forward).

On macOS, Option/Alt shortcuts such as Alt+B, Alt+F, and Alt+P require setting Option as Meta in your terminal. Run /terminal-setup to install a Shift+Enter binding in VS Code, Cursor, Alacritty, or Zed.

Vim-style editing is available via /config → Editor mode (the old /vim command was removed).

Useful CLI Shortcuts (Shell)

# Alias for quick access
alias cc="claude"
alias ccp="claude -p"  # non-interactive
 
# Pipe code from clipboard (macOS)
pbpaste | claude -p "Review this code"
 
# Pipe code from clipboard (Linux)
xclip -sel clip -o | claude -p "Review this code"

VS Code Universal Shortcuts (Relevant to AI)

These VS Code shortcuts improve AI workflow regardless of which AI tool you use:

ActionWindows / LinuxmacOS
Select current wordCtrl+DCmd+D
Select to end of lineShift+EndShift+Cmd+Right
Select all occurrencesCtrl+Shift+LCmd+Shift+L
Multi-cursor at line endsSelect lines → Shift+Alt+IShift+Option+I
Move line up/downAlt+Up/DownOption+Up/Down
Duplicate lineShift+Alt+Down (Linux: Ctrl+Shift+Alt+Down)Shift+Option+Down
Fold allCtrl+K, Ctrl+0Cmd+K, Cmd+0
Go to definitionF12F12
Peek definitionAlt+F12 (Linux: Ctrl+Shift+F10)Option+F12
Toggle terminalCtrl+`Ctrl+`
Command paletteCtrl+Shift+PCmd+Shift+P

Customizing Shortcuts

Copilot (VS Code)

Ctrl+K Ctrl+S (Cmd+K Cmd+S on macOS), or Command Palette → "Preferences: Open Keyboard Shortcuts" → search "copilot" → rebind the command.

Cursor

Cmd/Ctrl+R then Cmd/Ctrl+S, or Cmd/Ctrl+Shift+P → "Preferences: Open Keyboard Shortcuts" → search for the action you want to rebind.

Cursor uses VS Code's keybinding format in keybindings.json. Look up the command ID in the Keyboard Shortcuts editor:

{
  "key": "ctrl+shift+a",
  "command": "<command-id-from-keyboard-shortcuts-editor>"
}

Claude Code

Run /keybindings to create or open ~/.claude/keybindings.json. Bindings are grouped by context and map keystrokes to namespace:action names; set an action to null to unbind it. Changes apply without restarting.

{
  "$schema": "https://www.schemastore.org/claude-code-keybindings.json",
  "bindings": [
    {
      "context": "Chat",
      "bindings": {
        "ctrl+e": "chat:externalEditor",
        "ctrl+s": null
      }
    }
  ]
}

Ctrl+C and Ctrl+D are reserved and cannot be rebound. Chords such as "ctrl+k ctrl+s" are supported.