Keyboard shortcuts

The visual editor has a compact keyboard surface. Press Cmd+/ at any time to summon the in-app shortcut sheet: it shows the same list, with platform-aware glyphs (⌘ / ⇧ on macOS, Ctrl on Windows / Linux).

Info

On Windows and Linux, Ctrl replaces Cmd for every shortcut listed below.

Selection

ShortcutAction
ArrowLeftSelect previous sibling
ArrowRightSelect next sibling
ArrowUpSelect parent element
ArrowDownSelect first child
EscDeselect / stop recording or painting / exit preview / close modal / exit text edit. Resolves the topmost active surface first.

Editing

ShortcutAction
Cmd+DDuplicate selected element. Inside text editing, falls back to the browser default.
DeleteHide selected element
Cmd+ZUndo last change
Cmd+Shift+ZRedo

Save

ShortcutAction
Cmd+SSave changes. Works from anywhere, including inside text edits and form inputs.

View

ShortcutAction
Cmd+Shift+PToggle preview-as-visitor. Hides editor chrome so you see what a visitor sees.
Cmd+BToggle side panel (expanded ↔ rail). Collapses the side panel to a thin vertical rail so the canvas reclaims the horizontal space.
Cmd+Shift+RToggle interaction & record mode. Click through the page to reveal elements hidden behind an interaction: see Interaction & Record Mode.

Numeric fields

While a numeric Inspector field (font size, border width, spacing…) is focused, its value is a draft: nothing applies per keystroke:

ShortcutAction
EnterApply the typed value
EscCancel, revert to the last applied value
ArrowUp / ArrowDownStep the value by 1 and apply
Shift+ArrowUp / Shift+ArrowDownStep by 10

Leaving the field (Tab or a click elsewhere) also applies it, and focusing a field selects the whole value so typing replaces it. See numeric fields in the editing toolkit for the full behaviour.

Command palette

ShortcutAction
Cmd+KOpen the command palette: fuzzy-search every editor action, navigation, and setting, then run it from the keyboard.

Help

ShortcutAction
Cmd+/Open the in-app shortcut sheet

How Esc resolves

Esc is overloaded: it closes whatever's most salient, innermost mode first. The editor resolves the keystroke in this order:

  1. If a modal is open, close the topmost modal.
  2. If you're in inline text-edit mode, exit the edit.
  3. If interaction recording is active, stop the recording: captured steps are kept.
  4. If copy-style painting is active, stop painting: your selection survives.
  5. If preview-as-visitor mode is active, return to the editor.
  6. If an element is selected, deselect it: the outline, corner tag, and floating toolbar all clear together.
  7. Otherwise, do nothing: the keystroke falls through to the browser.

That order is why pressing Esc twice can do two different things: first Esc exits an active text edit (or stops painting); second Esc deselects.

Form-input gating

Most shortcuts are suppressed while you're typing in an <input>, <textarea>, or <select>, so Cmd+Z in the Inspector's text field undoes your typing, not the editor's history. The four global affordances stay active everywhere:

  • Cmd+S always saves, even inside a focused input or contentEditable.
  • Cmd+Shift+P always toggles preview-as-visitor.
  • Cmd+/ always opens the shortcut sheet.
  • Cmd+K always opens the command palette.

See also

Was this helpful?