Browse the docs

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:

TokenWhat 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.

A snippet with a field and a caret
When
  1. Type “;hi”
Do
  1. Type “Hi {{ask:Name|there}},⏎⏎{{cursor}}⏎⏎Thanks, Sam”
Open in Switchboard to try it

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. ;addr types the text as written, ;Addr capitalises its first letter, ;ADDR types it all in capitals.

  • Word start. The abbreviation only fires at the start of a word, so cat never fires inside locate.

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.

See also #

Typed text, Type text, Coming from TextExpander or Alfred