Snippets
Type a short abbreviation and Switchboard replaces it with a longer text: fields to fill in, a caret position, the date, the clipboard.
A snippet is a macro in a simple shape: one Typed text trigger that deletes what you typed, and one Type text step. Switchboard recognises that shape and shows a snippet editor instead of blocks, with Show as blocks one click away. Everything else about a macro still works: groups, scope to certain apps, turning it off, History, sharing and Make with AI.
Make one #
Choose File › New Snippet (⌃⌘N), type the abbreviation and the text, and it works at once, in any app. Snippets from the same place live in a group; scope the group to certain apps if a snippet should only work there.
Snippets never fire in a password field. The snippet editor says so once.
What goes in the text #
Tokens go between double braces:
| Token | What it does |
|---|---|
{{cursor}} | Where the caret ends up after the text is typed. Only the first counts. |
{{sel}} | The text selected when you run the snippet from the palette or a hotkey. Empty when you type the abbreviation, because typing replaces the selection. |
{{ask:Label}} or {{ask:Label|default}} | A field. Every field in the text is collected in one form before anything is typed; Tab moves between them, ⏎ expands, ⎋ cancels and types the abbreviation back. |
{{clipboard()}} | The clipboard's text. |
{{date("yyyy-MM-dd")}} | Today, in an ICU date format. |
{{date("EEEE", "+3d")}} | A date offset: d, w, m (months), y, h, min. |
To type two literal braces, write \{{. Anything else is typed as it is. ask, cursor and sel work only in a snippet body; see ask, cursor and sel.
- Type “;hi”
- Type “Hi {{ask:Name|there}},⏎⏎{{cursor}}⏎⏎Thanks, Sam”
Text with fields, or longer than the auto-paste limit, is pasted in one go and your clipboard is put back. Short text is typed. Bodies are plain text; for formatting, use a macro with a clipboard step.
Options of the trigger #
The snippet editor sets these on the Typed text trigger:
Delimiter. None (fire as soon as the abbreviation is typed), or wait for space, Tab, Return or any word break. Keep the delimiter types that key back after the text.
Match case.
;addrtypes the text as written,;Addrcapitalises its first letter,;ADDRtypes it all in capitals.Word start. The abbreviation only fires at the start of a word, so
catnever fires insidelocate.
Settings #
Settings › Snippets has a default prefix for new abbreviations (for example ;), a default delimiter, and apps only to keep snippets from expanding in apps you have not scoped them to. Pick a prefix you would never type by accident.
From the palette #
The palette lists snippets with the keyword ;. Choosing one expands it into the front app, with its fields. When Switchboard itself is in front, it copies the text instead and shows "Copied".
Bring yours over #
File › Import… reads TextExpander (.csv), Alfred (.alfredsnippets), Raycast (.json) and Text Replacements (.plist), and File › Import Text Replacements from This Mac reads the ones System Settings holds. See Coming from TextExpander or Alfred. Keyboard Maestro macros with a Typed String trigger and an Insert Text action arrive as snippets already.