Skip to content

Split Editor

Split your editor into multiple panes to view and edit notes side-by-side. Each pane operates independently with its own tab, scroll position, and content.

Drag a tab toward the edge of the editor area. Drop zones appear as you drag:

Drop positionResult
Left edgeNew pane to the left
Right edgeNew pane to the right
Top edgeNew pane above
Bottom edgeNew pane below
CenterMove tab into existing pane

The drop zone highlights with a dashed border to confirm your target.

Drag the thin divider between panes to adjust their sizes. The divider highlights on hover and turns to the accent color while dragging. Panes have a minimum width of 200px and minimum height of 150px.

Click anywhere inside a pane to make it active. The active pane shows a colored border matching your accent color. Only the active pane receives keyboard input and editor commands.

Switch focus between panes without the mouse:

ActionDescription
Focus next paneCycle forward through panes
Focus previous paneCycle backward through panes
Focus pane by numberJump to pane 1, 2, 3, etc.

Drag a tab from one pane and drop it onto another pane’s area. The tab moves to the target pane, and the source pane updates accordingly.

Click the close button in a pane’s header. If you close the active pane, focus shifts to the first remaining pane. The last pane cannot be closed — there is always at least one editor visible.

Panes use CSS Grid for layout. Vertical splits add columns; horizontal splits add rows. The layout adapts automatically:

  • Vertical split: Two panes side-by-side (1fr 1fr columns)
  • Horizontal split: Two panes stacked (1fr 1fr rows)
  • Mixed: Combine both directions for 3+ pane layouts

Split editor uses @dnd-kit/core for drag interactions. A 10px distance threshold prevents accidental drags. While dragging, a floating preview shows the tab name with a slight rotation for visual feedback.

  • Active pane has a visible focus outline
  • Pane resizers are keyboard-focusable
  • Supports prefers-reduced-motion (disables animations)
  • Supports prefers-contrast: high (thicker borders)
  • Print styles hide resizers and controls