Nermal
Reference

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

ActionmacOSWindows / Linux
New Tab⌘ TCtrl ⇧ T
Close Pane / Tab⌘ WCtrl ⇧ W
Reopen Closed Tab⌘ ⇧ TAlt ⇧ T
Next Tab · Previous Tab⌃ ⇥ · ⌃ ⇧ ⇥same
Go to Tab 1–9⌘ 1…⌘ 9Alt 1…Alt 9
New Workspace⌘ ⇧ NCtrl ⇧ N
Switch Workspace⌘ ⇧ OCtrl ⇧ O
New Window⌘ N—

Panes

ActionmacOSWindows / Linux
Split Right⌘ DCtrl ⇧ D
Split Down⌘ ⇧ DCtrl Alt ⇧ D
Next Pane · Previous Pane⌘ ] · ⌘ [Ctrl ⇧ ] · Ctrl ⇧ [
Focus Pane Left / Right / Up / Down⌘ ⌥ ←→↑↓Alt ←→↑↓
Zoom Pane⌘ ⇧ ⏎Ctrl ⇧ ⏎
Enter Full Screen⌘ ⏎F11

View

ActionmacOSWindows / Linux
Command Palette⌘ PCtrl ⇧ P
Toggle Left Sidebar⌘ BCtrl ⇧ B
Toggle Right Panel⌘ JCtrl ⇧ J
Toggle Code Panel⌘ ⇧ ECtrl ⇧ E
Font Size Up · Down · Reset⌘ + · ⌘ − · ⌘ 0Ctrl + · Ctrl − · Ctrl 0
Zoom the font⌘ + wheelCtrl + wheel

Terminal

ActionmacOSWindows / Linux
Find in Terminal⌘ FCtrl ⇧ F
Find Next · Previous⌘ G · ⌘ ⇧ GF3 · ⇧ F3
Clear Scrollback⌘ KCtrl ⇧ K
Copy · Paste⌘ C · ⌘ VCtrl ⇧ C · Ctrl ⇧ V · ⇧ Insert
Insert Newline (at the prompt)⇧ ⏎ · ⌥ ⏎same
Fuzzy history search⌃ Rsame
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

ActionmacOSWindows / Linux
Commit (caret in the message box)⌘ ⏎Ctrl ⏎
Save (in the editor)⌘ SCtrl S
Restart SSH Session⌘ ⇧ RCtrl ⇧ R

Application

ActionmacOSWindows / Linux
Settings⌘ ,Ctrl ,
Keyboard Shortcuts⌘ /—
Hide Nermal· Hide Others · Minimize⌘ H · ⌘ ⌥ H · ⌘ M—
Quit⌘ QCtrl ⇧ Q

Actions with no default key

All of these are in the command palette, and all are bindable under Settings → Keybindings:

GroupActions
TabsRenameTab · NewWorktreeTab · CloseOtherTabs · CloseTabsToTheRight · CopyWorkingDirectory · MarkTabUnread · ToggleTabSidebar
PanesResizePaneLeft/Right/Up/Down · SwapPaneNext · SwapPanePrev
WorkspacesSelectWorkspace1…SelectWorkspace9 · RenameWorkspace · StopWorkspace · DeleteWorkspace
AgentsForkAgentSession (+ Right / Left / Down / Up) · CopyAgentSessionId
GitScmStageAll · ScmUnstageAll · ScmDiscardAll · ScmCommitAmend · ScmRefresh · ScmSync · ScmPush · ScmPull · ScmFetch · ScmCheckoutBranch · ScmCreateBranch · ScmToggleGraph · ToggleDiffViewMode
PanelsShowRightPanelInfo · ShowRightPanelChanges · ShowRightPanelFiles
SSHToggleSftp · ShowSshForwards · OpenSshProfiles
ApplicationCloseWindow · 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 →

Sponsor