Skip to Content
BlogLibraries rot in three months

Libraries rot in three months. Usually these three

After three months the library is annoying, usually because of hygiene, not missing features.

te firing inside English. Two snippets sharing one abbreviation. Code shortcuts exploding in chat. Keep abbreviations short but not English words.

1. Names

3โ€“8 characters, easy to type, hard to type by accident. xsig and zzbug beat ok and thanks.

Group prefixes namespace the library: ai-, cs-, dev-. A prefix is a namespace, not decoration.

Adaptive case helps English titles. Do not expect it to save a Chinese abbreviation. See Adaptive case.

2. When it expands

Keep the trigger key. Tighten โ€œwhat sits before the abbreviationโ€ with Expand When: word boundary, whitespace, non-alphanumeric. Turning off โ€œrequire a keyโ€ is faster and dirtier.

A group may have its own trigger keys. Those stay on this machine and do not sync. The master switch is tray or hotkey pause expansion. Pause for demos, passwords, games that need raw typing.

3. Where it expands

ExpandIn (Pro) limits a group or a file to listed apps. Code stays in the IDE. Support stays in the browser and mail. Do not rely on being careful. try/except in Slack: Developer boilerplate.

Conflicts

Two files cannot share an abbreviation. The list marks collisions. See Conflicting abbreviations. Scan this after every import.

If you forgot the name, // โ€” do not invent a shorter, more collision-prone abbreviation.

Tonight, rename the one natural-language abbreviation that already misfired. That beats ten new โ€œmagicโ€ snippets.

Related: Migrate from TextExpander.