SN
Written by Swaraj Nandedkar • Creator & Lead Developer
Published August 26, 2026 • Updated August 26, 2026 • Product behavior checked against FlitKey v0.6.0

How Do Text Expanders Work? Triggers, Delimiters, Hotkeys, and Pickers (2026)

Understand the internal engine loop: from keystroke buffers and delimiter rules to per-snippet hotkeys and fuzzy search pickers.

Key Takeaways

  • A text expander watches recent keystrokes, matches a trigger, deletes those characters, and inserts a stored snippet.
  • A delimiter (Space, Tab, Enter, punctuation) can delay that match until you confirm it; some tools keep the delimiter, others drop it.
  • A hotkey skips typing the abbreviation and fires a snippet (or a search UI) with a key combo.
  • A picker (inline search / Quick Insert) is the escape hatch when you forget the trigger; FlitKey’s default is Alt+Space on Windows and Linux X11.
  • You usually want more than one of these. Triggers for daily phrases, a picker for the rest.

Disclosure: We make FlitKey, a free MIT-licensed expander for Windows and Linux. This guide explains the category first. FlitKey is the GUI we recommend for local keyword + hotkey + picker use; TextExpander and Espanso still win on delimiter knobs and word-boundary matching.

The loop every expander shares

A text expander is background software that substitutes a short input for stored text. The short input is the trigger. The stored text is the snippet.

Under the hood the loop looks like this:

  1. Keep a short rolling buffer of recent characters (or wait for a hotkey).
  2. Test the buffer against your library.
  3. If a match is allowed (immediate, or after a delimiter / word boundary), delete the trigger characters.
  4. Insert the snippet, resolving dates, clipboard tokens, or fill-ins if the tool supports them.
  5. Optionally place the caret with a cursor marker.

That is the whole machine. Triggers, delimiters, hotkeys, and pickers are four ways to start step 2.

Zapier’s long-running expander guide names the same pieces: abbreviations, snippets, delimiters, and macros such as dates and clipboard inserts (Zapier, “Type Less”, verified August 2026). TextExpander’s FAQ uses “abbreviation” for the typed trigger and “Inline Search” for the picker (TextExpander terminology, verified August 2026).

Triggers (abbreviations, keywords, autotext)

A trigger is the string you type to call a snippet. Vendors disagree on the label (abbreviation, autotext, keyword, hotstring) and agree on the job.

Vendor languageProduct examples
AbbreviationTextExpander
Trigger / matchEspanso
KeywordFlitKey (trigger_type: keyword)
AutotextPhraseExpress
HotstringAutoHotkey

Good triggers are short, memorable, and hard to type by accident. Prefixes such as ; or : do most of that work. Type ;addr and you almost never collide with English; type addr and “address” becomes a landmine.

FlitKey stores keywords in the snippet record. A pack snippet looks like this (from docs, verified August 2026):

{
  "label": "Git: Commit Message",
  "trigger_type": "keyword",
  "keyword": ":gcm",
  "expansion_text": "git commit -m \"{{clipboard}}\"",
  "platform": "all"
}

On Windows and Linux X11, FlitKey watches typed input and expands that keyword in the focused field. On Wayland, v0.6.0 does not register typed triggers; you use Quick Insert instead (platform matrix).

Espanso fires as soon as the typed buffer matches, unless you add word: true so the match only runs as a standalone word (therthere without wrecking other) (Espanso match basics, verified August 2026). AutoHotkey hotstrings wait for an ending character unless you set the * option (AHK v2 Hotstrings, verified August 2026).

Delimiters (and why “immediate expand” bites)

A delimiter is the extra key that says “yes, expand now.” Space, Tab, Enter, Esc, and punctuation are the usual set.

TextExpander documents three expansion modes (Expansion settings, verified August 2026):

ModeWhat happens
Immediately when typedAbbreviation completes → snippet appears
At delimiter (keep delimiter)You type Space (or another chosen key); snippet appears and Space stays
At delimiter (abandon delimiter)Same confirmation key, but the delimiter is discarded

Default delimiter keys there include Space, Tab, Return, and Esc (Mac) or Enter (Windows), plus a long punctuation list you can enable. Keep-delimiter is handy when Space is the confirm key and you want to keep writing. Abandon-delimiter is handy when Enter would otherwise dump a blank line after every signature.

PhraseExpress talks about leading and trailing delimiters so ram does not fire inside grammar (PhraseExpress Triggers, verified August 2026). Espanso’s closest analog is word: true plus word_separators (Espanso options, verified August 2026). AutoHotkey’s analog is ending characters (-()[]{}':;"/\,.?! plus Space/Enter/Tab); O omits the ending character after replace.

FlitKey does not ship a TextExpander-style keep/abandon delimiter panel. You avoid accidental fires by choosing distinct keywords (:gcm, ;sig) rather than bare English. That is simpler, and it is less tunable. If you need per-group “expand only after whitespace” rules, Espanso or TextExpander still have the finer switches.

Hotkeys: skip the abbreviation

A hotkey is a chord (Ctrl+Alt+S, Alt+Shift+1) that runs an action without typing the trigger string.

Two jobs get mixed up:

  1. Snippet hotkeys: This snippet always expands when you press that combo. Useful for a handful of high-frequency replies. Useless as a scheme for 200 snippets, because you will run out of memorable chords.
  2. App hotkeys: Open search, repeat last expansion, create a snippet from the clipboard. TextExpander’s defaults include Inline Search on Command+/ (macOS), Control+/ (Windows), Control+Period (Chrome) (Inline Search docs, Hotkeys, verified August 2026).

FlitKey snippets can use trigger_type: hotkey instead of keyword. Docs: each snippet needs a label, expansion text, and either a keyword or a hotkey (pack format). Global hotkeys work on Windows (native hooks) and Linux X11 (xdotool). They are not available on Wayland in v0.6.0.

Assign hotkeys to the five phrases you hit all day. Leave the long tail on keywords and the picker.

Pickers: search when memory fails

A picker (inline search, search bar, Quick Insert) is a floating search over labels, triggers, and content. You invoke it with a hotkey or a tray action, type a few letters, and insert the match.

This is the feature that keeps a library usable past ~30 snippets. TextExpander’s 2025 year-in-review even listed “help me find Snippets faster” as the top request; retrieval fails before creation does.

ToolPickerDefault invoke
TextExpanderInline SearchCmd+/ / Ctrl+/ / Ctrl+.
EspansoSearch barConfigurable search_shortcut; optional typed search trigger (options)
FlitKeyQuick Insert / search pickerAlt+Space on Windows and X11; on Wayland, open from the app or tray (copies to clipboard)

FlitKey’s picker is the path that still works when typed expansion cannot. On a GNOME or KDE Wayland session, v0.6.0 disables keyword expansion and global hotkeys, then tells you to open Quick Insert and paste (troubleshooting). That is a real limitation of typed injectors on Wayland, not a marketing footnote. If you live on Wayland and refuse clipboard paste, Espanso’s experimental uinput path is the other documented option; it needs extra device permissions.

How FlitKey implements each path

ActivationFlitKeyWindowsLinux X11Linux Wayland
Typed keywordYes (keyword)YesYes (xinput + xdotool)No
Delimiter keep/abandon UINo; use unique prefixesn/an/an/a
Per-snippet hotkeyYes (hotkey)Native hooksxdotoolNo
Search pickerQuick InsertAlt+SpaceAlt+SpaceApp/tray; clipboard paste

Architecture: PyQt6 GUI, local config.json (Linux ~/.config/flitkey/, Windows %APPDATA%\flitkey\), MIT license, no account. Placeholders in expansions: {{date}}, {{time}}, {{datetime}}, {{clipboard}}, {{cursor}}.

Where rivals still beat FlitKey on this topic:

FlitKey’s bet is the combination: a visual library, local files, free, keyword and hotkey and picker on the two desktops we ship. You do not need YAML or a subscription to get all four activation ideas in one app, minus the advanced delimiter panel.

Which activation method to use

Most people end up with keywords for the daily set plus a picker for everything else. That pairing is why FlitKey ships both in the GUI instead of making you memorize a chord per snippet.

Hands-on: one snippet, four ways

Same follow-up line, four activations. Suppose the snippet is:

Follow up on {{date}}. Ref: {{clipboard}}

1. Keyword (FlitKey / Espanso / TextExpander)

Type :fup (FlitKey keyword) or ;fup in another expander. The tool deletes the trigger and inserts the line with today’s date and whatever you copied.

2. Delimiter (TextExpander-style)

Abbreviation fup. Expand at delimiter, abandon delimiter. You type fup then Space; the snippet appears with no trailing space so you can add punctuation.

3. Hotkey (FlitKey snippet hotkey)

Assign Ctrl+Alt+F to that snippet on Windows/X11. Press the chord in the ticket field. No abbreviation to remember, and no collision with the word “fup”.

4. Picker (FlitKey Quick Insert)

Press Alt+Space (or open Quick Insert from the tray on Wayland). Search follow. Select the snippet. On X11/Windows it inserts; on Wayland you paste from the clipboard.

If you are setting up FlitKey today: create the keyword first, learn Alt+Space the same afternoon, add hotkeys only for the phrases that already hurt. Download FlitKey (free). Full click paths live in the docs.

Frequently asked questions

How does a text expander actually insert text?

It deletes the trigger (or never types one, in the hotkey/picker cases) and sends the snippet through the OS input path: simulated keys, clipboard paste, or accessibility APIs. FlitKey uses Win32 hooks on Windows and xdotool on X11; Wayland uses clipboard paste from Quick Insert.

Do I need a delimiter?

Only if your triggers look like English. Prefixes (: / ;) usually remove the need. TextExpander, AutoHotkey, and Espanso give you extra confirm-key control if you want it.

What is the difference between a hotkey and a trigger?

A trigger is a typed string. A hotkey is a key combination. FlitKey supports both per snippet (keyword or hotkey). Pickers are a third path: one hotkey opens search for every snippet.

Why won’t FlitKey expand when I type on Linux Wayland?

v0.6.0 disables typed triggers and global hotkeys on Wayland. Open Quick Insert from the app or tray and paste. See the Wayland guide.

Is FlitKey’s picker the same as TextExpander Inline Search?

Same job (search and insert without remembering the abbreviation). Different invoke keys (Alt+Space vs Cmd+/ or Ctrl+/) and a clipboard fallback on Wayland instead of injecting into every compositor.

Sources and verification notes

Verified August 26, 2026 against official product documentation and releases.

Activate snippets your way

FlitKey gives you typed keywords, per-snippet hotkeys, and an Alt+Space search picker in one free desktop tool.

Download FlitKey Free

Related guides