Nermal
The window

Tabs and splits

Opening, arranging, and rearranging the panes in a tab.

Keys are written in macOS notation. On Windows and Linux, read ⌘ as Ctrl ⇧ for most window actions — the exact chords are on the keyboard shortcuts page.

Tabs

⌘ TNew tab
⌘ WClose the tab (or the focused pane, if the tab has more than one)
⌘ ⇧ TReopen the tab you just closed
⌘ 1 … ⌘ 9Jump to tab 1–9
⌃ ⇥ · ⌃ ⇧ ⇥Hold to walk the switcher forwards or backwards; it commits when you let go

A new tab always opens in the current pane's directory. Where it lands in the list is Settings → Window & Tabs → New tab position — After current by default, or At end.

Right-click a tab for the rest: rename, split right or down, a new worktree tab, copy the working directory, copy the session id, close · close others · close to the right, and — when a coding agent is running there — mark unread and fork its session.

Splits

⌘ DSplit right
⌘ ⇧ DSplit down
⌘ ] · ⌘ [Next pane · previous pane
⌘ ⌥ ← → ↑ ↓Focus the pane in that direction
⌘ ⇧ ⏎Zoom the focused pane to fill the tab
⌘ ⏎Fullscreen the window

A split inherits the current pane's working directory, so splitting inside a repository keeps you in the repository.

Resizing and swapping panes have no default keys — bind them under Settings → Keybindings, or run them from the command palette (Resize Pane Left, Swap Pane Next, and friends).

Inactive panes are dimmed slightly so the focused one is obvious. Turn that off with Settings → Appearance → Dim inactive panes.

Rearranging by dragging

Hover a pane and a small grip appears along its top edge. Drag it to move that pane somewhere else in the tab.

Dragging a pane to a new position
Placeholder — video: dragging a pane by its grip, with the landing highlighted

Where you drop it decides what happens:

The landing lights up while you drag, and only ever lights up when the drop would actually change the layout.

Making one tab a pane of another

Two sessions you keep switching between belong in one tab. Drag a tab — by its chip in the tab bar, or by its row in the sidebar — out over the panes and drop it where you want it: it becomes a pane of the tab you are looking at, and the tab it came from is gone.

The landing reads exactly as it does for a pane, minus the middle: a tab has nothing here to trade places with, so a pane's middle means "split it the way it is longest". A tab that was itself split arrives with its panes still arranged the way you left them, taking one share of whatever row or column it joined.

Nothing restarts on the way over. A shell mid-command, an SSH session, a coding agent halfway through a turn — all of them keep running; only the tab they were in goes away. The tab's name does not come along.

Picking a tab up does not switch to it, so the tab you drop into is the one you were already looking at. A plain click still switches, as always.

Making a pane a tab of its own

The same move backwards. Drag a pane by its grip up to the tab bar — or out to the sidebar, if that is where your tabs live — and a caret shows which two tabs it would go between. Drop it and it leaves the split it was in and becomes a tab of its own, at that spot.

Nothing restarts here either. The last pane in a tab has nowhere to go, since it is already a tab on its own, so no caret appears for it.

Closing something that is busy

Closing a pane or tab with a command still running asks first, and says what is running: "cargo is still running. Closing ends it." When a coding agent is mid-turn it says that instead — "Claude Code is still working. Closing ends its turn."

Where the tabs live

Settings → Window & Tabs → Tab bar position puts tabs in a vertical sidebar on the left (the default) or a horizontal strip on top. The sidebar has room for things a strip does not — git branch, diff counts, agent status — so most of its own page is about that.

⌘ B toggles the sidebar; ⌘ J toggles the side panel on the right.

Sponsor