Keyboard shortcuts
Every default binding, plus the action names for rebinding.
Settings → Keybindings (⌘ ,) is the live version of this page — it shows what your copy is bound to. This is the shipped default.
Tabs and workspaces
| Action | macOS | Windows / Linux |
|---|---|---|
| New Tab | ⌘ T | Ctrl ⇧ T |
| Close Pane / Tab | ⌘ W | Ctrl ⇧ W |
| Reopen Closed Tab | ⌘ ⇧ T | Alt ⇧ T |
| Next Tab · Previous Tab | ⌃ ⇥ · ⌃ ⇧ ⇥ | same |
| Go to Tab 1–9 | ⌘ 1…⌘ 9 | Alt 1…Alt 9 |
| New Workspace | ⌘ ⇧ N | Ctrl ⇧ N |
| Switch Workspace | ⌘ ⇧ O | Ctrl ⇧ O |
| New Window | ⌘ N | — |
Panes
| Action | macOS | Windows / Linux |
|---|---|---|
| Split Right | ⌘ D | Ctrl ⇧ D |
| Split Down | ⌘ ⇧ D | Ctrl Alt ⇧ D |
| Next Pane · Previous Pane | ⌘ ] · ⌘ [ | Ctrl ⇧ ] · Ctrl ⇧ [ |
| Focus Pane Left / Right / Up / Down | ⌘ ⌥ ←→↑↓ | Alt ←→↑↓ |
| Zoom Pane | ⌘ ⇧ ⏎ | Ctrl ⇧ ⏎ |
| Enter Full Screen | ⌘ ⏎ | F11 |
View
| Action | macOS | Windows / Linux |
|---|---|---|
| Command Palette | ⌘ P | Ctrl ⇧ P |
| Toggle Left Sidebar | ⌘ B | Ctrl ⇧ B |
| Toggle Right Panel | ⌘ J | Ctrl ⇧ J |
| Toggle Code Panel | ⌘ ⇧ E | Ctrl ⇧ E |
| Font Size Up · Down · Reset | ⌘ + · ⌘ − · ⌘ 0 | Ctrl + · Ctrl − · Ctrl 0 |
| Zoom the font | ⌘ + wheel | Ctrl + wheel |
Terminal
| Action | macOS | Windows / Linux |
|---|---|---|
| Find in Terminal | ⌘ F | Ctrl ⇧ F |
| Find Next · Previous | ⌘ G · ⌘ ⇧ G | F3 · ⇧ F3 |
| Clear Scrollback | ⌘ K | Ctrl ⇧ K |
| Copy · Paste | ⌘ C · ⌘ V | Ctrl ⇧ C · Ctrl ⇧ V · ⇧ Insert |
| Insert Newline (at the prompt) | ⇧ ⏎ · ⌥ ⏎ | same |
| Fuzzy history search | ⌃ R | same |
| Accept ghost suggestion | → | same |
| Completion menu | ⇥ | same |
On Windows and Linux plain Ctrl V also pastes at a shell prompt. Inside a full-screen application — vim, less, tmux — it is passed through as the key, so it means what the application says it means (blockwise Visual mode in vim); paste there with Ctrl ⇧ V or ⇧ Insert.
That convenience is the Paste (outside full-screen apps) binding, and it is
yours to move. Clearing it hands Ctrl V to the shell everywhere,
including readline's quoted-insert:
{ "keybindings": { "AlternatePaste": "" } }Putting Paste itself on the chord goes the other way, pasting on every screen the way Windows Terminal does out of the box:
{ "keybindings": { "PasteText": "ctrl-v" } }Every Ctrl chord that stands for a control code reaches the program
you are running: Ctrl 6 and Ctrl ⇧ 6 are ^^ (vim's
alternate file), Ctrl / and Ctrl ⇧ − are ^_ (readline's
undo), Ctrl 3 is Escape. The plain Ctrl chords Nermalkeeps
are the ones that stand for nothing: Ctrl ⇥ for the next tab, and on
Windows and Linux Ctrl + · Ctrl − · Ctrl 0 for
the font size.
Git and SSH
| Action | macOS | Windows / Linux |
|---|---|---|
| Commit (caret in the message box) | ⌘ ⏎ | Ctrl ⏎ |
| Save (in the editor) | ⌘ S | Ctrl S |
| Restart SSH Session | ⌘ ⇧ R | Ctrl ⇧ R |
Application
| Action | macOS | Windows / Linux |
|---|---|---|
| Settings | ⌘ , | Ctrl , |
| Keyboard Shortcuts | ⌘ / | — |
| Hide Nermal· Hide Others · Minimize | ⌘ H · ⌘ ⌥ H · ⌘ M | — |
| Quit | ⌘ Q | Ctrl ⇧ Q |
Actions with no default key
All of these are in the command palette, and all are bindable under Settings → Keybindings:
| Group | Actions |
|---|---|
| Tabs | RenameTab · NewWorktreeTab · CloseOtherTabs · CloseTabsToTheRight · CopyWorkingDirectory · MarkTabUnread · ToggleTabSidebar |
| Panes | ResizePaneLeft/Right/Up/Down · SwapPaneNext · SwapPanePrev |
| Workspaces | SelectWorkspace1…SelectWorkspace9 · RenameWorkspace · StopWorkspace · DeleteWorkspace |
| Agents | ForkAgentSession (+ Right / Left / Down / Up) · CopyAgentSessionId |
| Git | ScmStageAll · ScmUnstageAll · ScmDiscardAll · ScmCommitAmend · ScmRefresh · ScmSync · ScmPush · ScmPull · ScmFetch · ScmCheckoutBranch · ScmCreateBranch · ScmToggleGraph · ToggleDiffViewMode |
| Panels | ShowRightPanelInfo · ShowRightPanelChanges · ShowRightPanelFiles |
| SSH | ToggleSftp · ShowSshForwards · OpenSshProfiles |
| Application | CloseWindow · About · CheckForUpdates · OpenDocumentation · OpenDiscord · ReportIssue · ShowAll · ZoomWindow |
Rebinding syntax
{
"keybindings": {
"ResizePaneLeft": "ctrl-alt-left",
"ToggleSftp": "secondary-shift-u",
"ScmSync": "ctrl-b s"
}
}secondary means ⌘ on macOS and Ctrl elsewhere. A space
separates the steps of a chord.
More →