GitHub Copilot Keyboard Shortcuts Cheat Sheet
A quick reference for every GitHub Copilot keyboard shortcut documented by GitHub, organised by editor and platform.
Key takeaways
- Tab accepts and Esc dismisses in every editor that supports inline suggestions.
- Cycling alternatives is Alt/Option with [ and ] almost everywhere; Visual Studio uses , and . instead.
- Xcode is the outlier: Tab accepts only the first line.
- Toggling Copilot on and off has no default binding — assign one yourself.
- Vim/Neovim ships no default mappings at all.
VS Code
Inline suggestions — macOS
| Action | Shortcut | Command |
|---|---|---|
| Accept an inline suggestion | Tab | editor.action.inlineSuggest.commit |
| Dismiss an inline suggestion | Esc | editor.action.inlineSuggest.hide |
| Show next inline suggestion | Option+] | editor.action.inlineSuggest.showNext |
| Show previous inline suggestion | Option+[ | editor.action.inlineSuggest.showPrevious |
| Trigger inline suggestion | Option+\ | editor.action.inlineSuggest.trigger |
| Open Copilot in a separate pane | Ctrl+Return | github.copilot.generate |
| Toggle Copilot on/off | No default shortcut | github.copilot.toggleCopilot |
Inline suggestions — Windows and Linux
| Action | Shortcut | Command |
|---|---|---|
| Accept an inline suggestion | Tab | editor.action.inlineSuggest.commit |
| Dismiss an inline suggestion | Esc | editor.action.inlineSuggest.hide |
| Show next inline suggestion | Alt+] | editor.action.inlineSuggest.showNext |
| Show previous inline suggestion | Alt+[ | editor.action.inlineSuggest.showPrevious |
| Trigger inline suggestion | Alt+\ | editor.action.inlineSuggest.trigger |
| Open Copilot in a separate pane | Ctrl+Enter | github.copilot.generate |
| Toggle Copilot on/off | No default shortcut | github.copilot.toggleCopilot |
Chat
| Action | macOS | Windows / Linux |
|---|---|---|
| Quick chat | Shift+Option+Command+L | Ctrl+Shift+Alt+L |
| Inline chat | Command+i | Ctrl+i |
| Open the chat view | Chat icon in the title bar | Chat icon in the title bar |
Visual Studio
GitHub documents two default Copilot bindings for Visual Studio. Both are searchable by command name in the Keyboard Shortcuts editor.
| Action | Shortcut | Command name |
|---|---|---|
| Show next inline suggestion | Alt+. | Edit.NextSuggestion |
| Show previous inline suggestion | Alt+, | Edit.PreviousSuggestion |
JetBrains IDEs
The same bindings apply across the JetBrains family — IntelliJ IDEA, PyCharm, WebStorm, GoLand, Rider and the rest.
macOS
| Action | Shortcut |
|---|---|
| Accept an inline suggestion | Tab |
| Dismiss an inline suggestion | Esc |
| Show next inline suggestion | Option or Alt+] |
| Show previous inline suggestion | Option or Alt+[ |
| Trigger inline suggestion | Option+\ |
| Open Copilot (suggestions in a separate pane) | Option or Alt+Return |
Windows
| Action | Shortcut |
|---|---|
| Accept an inline suggestion | Tab |
| Dismiss an inline suggestion | Esc |
| Show next inline suggestion | Alt+] |
| Show previous inline suggestion | Alt+[ |
| Trigger inline suggestion | Alt+\ |
| Open Copilot (suggestions in a separate pane) | Alt+Enter |
Linux
| Action | Shortcut |
|---|---|
| Accept an inline suggestion | Tab |
| Dismiss an inline suggestion | Esc |
| Show next inline suggestion | Alt+] |
| Show previous inline suggestion | Alt+[ |
| Trigger inline suggestion | Alt+\ |
| Open Copilot (suggestions in a separate pane) | Alt+Enter |
Eclipse
| Action | Shortcut |
|---|---|
| Accept an inline suggestion | Tab |
| Accept next word of an inline suggestion | Command+→ (macOS) or Ctrl+→ (Windows) |
| Dismiss an inline suggestion | Esc |
| Trigger inline suggestion | Option+Command+/ (macOS) or Alt+Ctrl+/ (Windows) |
Xcode
Xcode behaves differently enough to catch people out.
| Action | Shortcut |
|---|---|
| Accept the first line of a suggestion | Tab |
| View the full suggestion | Hold Option |
| Accept the full suggestion | Option+Tab |
Vim and Neovim
GitHub does not ship default Copilot key mappings for Vim or Neovim. You bind
them yourself using standard Neovim mapping, and GitHub’s reference points at
the Neovim Map documentation for how.
This is consistent with Vim’s conventions rather than an omission — but it does mean there is nothing to reproduce here, and any cheat sheet listing “default Vim Copilot shortcuts” has invented them.
Copilot CLI
Copilot CLI is a terminal interface, not an editor, so its bindings are its own.
| Shortcut | Purpose |
|---|---|
| Esc | Cancel the current operation. Press twice to interrupt the running turn, or to stop background agents when the main agent is idle |
| Ctrl+C | Cancel operation / clear input. Press twice to exit |
? | Open quick help on an empty prompt |
! | Run a command in your local shell, bypassing Copilot. ! alone enters shell mode |
$ | Hand the terminal to a real interactive shell rooted at the session’s working directory |
@ FILENAME | Include a file’s contents in the context |
# NUMBER | Include a GitHub issue or pull request in the context |
The five that matter
If you only commit a handful to memory, make it these — they cover the vast majority of real interaction with inline suggestions.
| Rank | Action | Binding | Why it earns the memory |
|---|---|---|---|
| 1 | Accept | Tab | Universal across every editor that supports suggestions |
| 2 | Dismiss | Esc | Rejecting well is a skill; make it frictionless |
| 3 | Next suggestion | Alt/Option+] | The first suggestion is often structurally wrong rather than slightly wrong |
| 4 | Trigger manually | Alt/Option+\ | When nothing appears and you want to know whether Copilot is working |
| 5 | Separate pane | Ctrl+Enter | Comparing several candidates side by side beats cycling blind |
Number three is the one most people never learn. Cycling is most valuable when the first suggestion took a fundamentally different approach from the one you wanted — iterative where you wanted recursive, broad exception handling where you wanted narrow. Alternatives frequently differ on exactly that axis, and one keystroke is cheaper than rewriting.
Cross-editor differences at a glance
If you move between editors, these are the four places the muscle memory breaks:
| Difference | Where |
|---|---|
| Cycling uses , / . instead of [ / ] | Visual Studio |
| Tab accepts only the first line | Xcode |
| A documented word-by-word acceptance binding exists | Eclipse |
| Nothing is bound by default | Vim / Neovim |
Everything else is consistent: Tab accepts, Esc dismisses, and Alt/Option plus a bracket cycles.
Rebinding
Every shortcut on this page can be changed.
- VS Code — the Keyboard Shortcuts editor. Search by the command names given above, such as
editor.action.inlineSuggest.showNext. - Visual Studio — the Keyboard Shortcuts editor, searching by command name (
Edit.NextSuggestion). - JetBrains — Settings → Keymap, then search for Copilot.
- Eclipse — Preferences → General → Keys.
- Xcode — rebind per command in Xcode’s key bindings preferences.
- Vim/Neovim — standard mapping; nothing is bound by default.
The one binding most worth adding yourself is toggle Copilot on/off
(github.copilot.toggleCopilot in VS Code). It ships with no default, and being
able to silence suggestions quickly is genuinely useful when you want to think
without ghost text appearing.
Print this cheat sheet
This page carries print styles: navigation, the sidebar and interactive controls are removed, tables are kept intact, and link URLs are printed alongside their text. Use the Print cheat sheet button at the top of the page, or your browser’s own print command.
Related lessons
- Code Completion Explained — what these shortcuts are actually controlling.
- Copilot Chat — slash commands, chat variables and participants.
- 50 Commands, Actions and Workflows — the full command reference.
Sources
Every version-sensitive claim on this page was checked against first-party documentation. Only sources actually used are listed.
Your progress
Saved in this browser only. No account, no server, and nothing leaves your device. Clearing site data resets it.
Was this lesson helpful?
Your answer is stored in this browser and is not sent anywhere.