Editor Keybindings¶
The YAML editor (Dashboard editor and Playground) offers a VSCode-parity keymap: standard editing, multi-cursor selection, and undo/redo bindings on top of the YAML+SQL syntax highlighting and completions.
Bindings below use Mod, which resolves to Cmd on macOS and Ctrl on Windows/Linux.
Editing¶
| Binding | Action |
|---|---|
Mod-/ |
Toggle line comment |
Mod-] / Mod-[ |
Indent / dedent selection |
Shift-Alt-f |
Tidy the document's indentation |
Tab |
Indent (or insert a tab if the selection is empty), or accept the open completion |
Shift-Alt-Up / Shift-Alt-Down |
Copy line up / down |
Shift-Mod-k |
Delete line |
Mod-/ inserts # in ordinary YAML. Inside a query: or sql: block-scalar body it inserts
-- instead, since the block scalar holds SQL text where # isn't a comment - it's part of
the query string.
Enter on a sequence item that already has content starts the next item for you, dash and
all: press it after - charts.revenue and the new line opens at -.
Formatting¶
Shift-Alt-f straightens the document's indentation, and pasted YAML is re-indented to fit
where it lands. Both move leading whitespace only - your comments, quoting, key order, blank
lines, and the contents of sql: / query: block scalars are left exactly as written, so a
file that is already correctly indented comes back byte-for-byte identical. A wrapped value
and a multi-line [flow, collection] move with the key they belong to rather than being
snapped to the indent grid, and a comment keeps whatever indent you gave it.
Selection and multiple cursors¶
| Binding | Action |
|---|---|
Mod-d |
Select the next occurrence of the current selection (or the word under the cursor) |
Mod-Alt-Up / Mod-Alt-Down |
Add a cursor on the line above / below |
Navigation¶
| Binding | Action |
|---|---|
Alt-Up / Alt-Down |
Move the current line up / down |
Mod-Alt-g |
Go to line |
Search¶
| Binding | Action |
|---|---|
Mod-f |
Open the search panel |
F3 / Mod-g |
Find next match |
Shift-F3 / Shift-Mod-g |
Find previous match |
Mod-Shift-l |
Select all occurrences of the current selection |
Search opens in the editor's top-right corner. Use the arrow beside the search field to show or hide the replace controls.
History¶
| Binding | Action |
|---|---|
Mod-z |
Undo |
Mod-Shift-z / Mod-y |
Redo |
Completions¶
| Binding | Action |
|---|---|
Mod-Shift-Space |
Open completions (Cmd-Shift-Space on macOS, Ctrl-Shift-Space elsewhere) |
Tab |
Accept the highlighted completion |
Enter |
Accept the highlighted completion, except on a line that is still only indentation - there it inserts a new line |
The editor also suggests Dataface keys, chart types, and other schema-driven values as you
type - Mod-Shift-Space opens the list explicitly if it hasn't appeared on its own. Ctrl-Space
also works wherever the operating system hasn't already claimed it, but on macOS it is usually
unavailable: it is the input-source switcher, and toggles between input sources instead of
reaching the editor whenever two or more are installed. macOS additionally offers Alt-\`` /Alt-i`.
Pressing Enter to open a new indented line lists everything valid at that level before you
type anything, so you can read the options rather than guess at them - if orientation is not
in the list under a chart, it belongs to one of the nested keys that is (style:). Because
nothing has been typed to choose with, Enter on such a line still means "new line"; use Tab
(or click) to accept from that list. Type any character and the list narrows to it, and Enter
accepts again as usual.
Accepting a key completion inserts a shape appropriate to what that key expects: a scalar value
stays on the same line after key:, an object value moves to an indented new line and reopens
the list with that object's keys, and a list value moves to an indented new line with - ready
for the first item.