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).
On Windows and Linux, Ctrl replaces Cmd for every shortcut listed below.
Selection
| Shortcut | Action |
|---|---|
ArrowLeft | Select previous sibling |
ArrowRight | Select next sibling |
ArrowUp | Select parent element |
ArrowDown | Select first child |
Esc | Deselect / stop recording or painting / exit preview / close modal / exit text edit. Resolves the topmost active surface first. |
Editing
| Shortcut | Action |
|---|---|
Cmd+D | Duplicate selected element. Inside text editing, falls back to the browser default. |
Delete | Hide selected element |
Cmd+Z | Undo last change |
Cmd+Shift+Z | Redo |
Save
| Shortcut | Action |
|---|---|
Cmd+S | Save changes. Works from anywhere, including inside text edits and form inputs. |
View
| Shortcut | Action |
|---|---|
Cmd+Shift+P | Toggle preview-as-visitor. Hides editor chrome so you see what a visitor sees. |
Cmd+B | Toggle side panel (expanded ↔ rail). Collapses the side panel to a thin vertical rail so the canvas reclaims the horizontal space. |
Cmd+Shift+R | Toggle 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:
| Shortcut | Action |
|---|---|
Enter | Apply the typed value |
Esc | Cancel, revert to the last applied value |
ArrowUp / ArrowDown | Step the value by 1 and apply |
Shift+ArrowUp / Shift+ArrowDown | Step 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
| Shortcut | Action |
|---|---|
Cmd+K | Open the command palette: fuzzy-search every editor action, navigation, and setting, then run it from the keyboard. |
Help
| Shortcut | Action |
|---|---|
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:
- If a modal is open, close the topmost modal.
- If you're in inline text-edit mode, exit the edit.
- If interaction recording is active, stop the recording: captured steps are kept.
- If copy-style painting is active, stop painting: your selection survives.
- If preview-as-visitor mode is active, return to the editor.
- If an element is selected, deselect it: the outline, corner tag, and floating toolbar all clear together.
- 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+Salways saves, even inside a focused input or contentEditable.Cmd+Shift+Palways toggles preview-as-visitor.Cmd+/always opens the shortcut sheet.Cmd+Kalways opens the command palette.
See also
- Editing toolkit: what each shortcut acts on (selection, rich text, drafts).
- Preview links: sharing a preview without leaving the editor.