Keyboard beside organised shortcut notes
Editorial illustration.

Give text shortcuts a prefix you rarely type in ordinary prose and a name that describes the inserted text. Start with ;email_work rather than a common word such as mail. Then test it in the apps where you write.

Good names make the result predictable. You should know whether a shortcut inserts an address, a signature or a full reply before you finish typing it. A trigger that saves two extra keystrokes but often calls the wrong text is a poor trade.

Start with a small, readable library

List the text you actually retype: an email address, a signature, an introduction or a link. Add those first. Leave hypothetical future replies out until you need them. A small library is easier to inspect for duplicate meanings and accidental matches.

In Text Replacements for Windows, the default expansion mode waits for Space, Tab or Enter after the trigger. Extended punctuation mode also recognises sentence punctuation. Choose the behaviour deliberately before deciding whether a prefix is safe for your writing.

Use names that explain the destination

Hard to predictClearer optionWhat improves
em;email_workIt names both the content and the account
sig2;sig_shortYou can recognise the version without remembering a number
thanks;thanks_replyAn ordinary word stays ordinary text
date;date_isoThe name tells you which format will appear

The semicolon is a suggested convention, not a requirement. Developers who write many semicolons may prefer another prefix. Pick something that is comfortable on your keyboard and unusual in the documents you edit.

Do not overload one trigger

Keep a fixed meaning for each shortcut. If ;sig inserts a long signature today and an informal sign-off tomorrow, you have to inspect every expansion more closely. Use ;sig_long and ;sig_short when both remain useful.

Avoid triggers distinguished only by a hard-to-see punctuation mark or a final digit. Also check built-in names: Text Replacements includes emoji shortcodes such as :fire:, and a custom snippet with the same trigger takes precedence. Reusing that name changes what it inserts.

Test the trigger in normal sentences

  1. Open a blank document and expand the new snippet by itself.
  2. Type ordinary sentences containing words similar to the trigger.
  3. Try the punctuation and delimiter you normally use after it.
  4. Repeat in your mail editor, chat or form without submitting it.
  5. If you use multiple layouts, repeat the test after switching layouts.

Change the name if the test surprises you. Do not solve a confusing naming scheme by memorising every exception. The keyboard layout guide covers the last check in more detail.

Share examples, not private data

Text Replacements can export and import JSON or CSV libraries. Before sharing a file, replace personal addresses, client names, internal links and private replies with examples. Tell the recipient which naming convention you used and which snippets contain placeholders.

Keep passwords, payment details and secrets out of a general snippet library. The app's protected-field safeguards do not make an exported file a secure vault. For temporary work that requires literal triggers, use the tray's Pause control.

Review content before sending it

A correctly expanded reply can still contain an old date, the wrong name or a promise you no longer make. Read the output as part of composing the message. For values that should be current when inserted, use date and time macros rather than maintaining yesterday's text by hand.

Frequently asked questions

Is the shortest possible trigger the best choice?
Choose a trigger you can remember and distinguish from normal writing. A slightly longer clear name can prevent a wrong expansion.
Can I pause expansion while documenting my shortcuts?
Yes. Use the tray Pause control or the documented Ctrl+Shift+Pause shortcut, then resume when finished.

See the product features and check whether it fits your workflow.

Get Text Replacements