A Mac-based miracle

A couple of days ago, this question from Jaim came up in the Mac Power Users forum

In terms of test replacement, is there a way to have multiple lines in the system iOS text replacement? I’d love to have multiple line replacements from the system tool (e.g., email signature) without needing to use a third party keyboard.

I, in my know-it-all way, told Jaim it was impossible. I knew it was impossible because I’ve been trying to add a multiline email signatures every year since text replacements on iOS came out. I’ve tried it again and again, with each new version of iOS, and it’s never worked. It’s obviously impossible.

Oddly enough, Tim Stringer didn’t respect my authority, probably because he knew better:

It’s possible to use multiline text replacements on Mac, iPhone, and iPad, though you would need to use a Mac to create these text replacements.

On the Mac:

  1. Open System Preferences. Click on the “Keyboard” pane then click on the “Text” tab.
  2. Click the “+” button to add a new text replacement.
  3. Enter the shortcut text in the Replace column.
  4. Paste some multi-line/multi-paragraph text into the With column.

This text replacement syncs across all of your device using iCloud.

Upon reading this, I went straight to my Mac and tried it. Son of a bitch, it works! How long has this been going on?

I am, of course, delighted to learn that I can use multi-line text replacements in every iOS app—Apple’s apps in particular, as they don’t support TextExpander.

On the other hand, I’m furious that I didn’t know about this sooner, and I’m even more furious that Apple has this feature, which is supposed to unify its platforms, working differently on Mac and iOS. Because if you take text like this,

One, two
Buckle my shoe
Three, four
Shut the door

and paste it into the Phrase field of a new text replacement on iOS, all of the linefeeds get turned into spaces,

Trying to define multiline text replacement on iPhone

and that’s what appears out when you type the shortcut,

Insert bad text replacement

leaving you with this,

One, two Buckle my shoe Three, four Shut the door

instead of what you wanted.

Mind you, defining a multiline text replacement on the Mac is not what you’d call a model of UI design:

Defining multiline text replacement on the Mac

Right after pasting in the phrase, you see absolutely nothing in the With column. It’s not until the text replacement is saved that you can see any of it. And even then, you see only the first line. WYSIWYG, my ass.

Update Apr 9, 2020 8:04 AM 
In a email, Andrew Kemp points out that you can type the multiline replacement directly into the field as long as you remember to use Option-Return whenever you need a linefeed. This is a common trick to use in apps for which Return means “I’m done” instead of “start a new line.” Messaging apps often work this way.

Personally, I find it hard to use Option-Return. It’s not that I can’t remember the trick. It’s that my fingers won’t listen to my brain and just press Return without the Option. Pasting avoids the treachery of my fingers.

But at least it works on the Mac, and as Tim Stringer said, it will then sync across your devices1 so you can use it on your iPhone and iPad.

This newfound knowledge comes at a good time. Until now, I’d been using Copied and its custom keyboard as my email signature manager. I had saved the few signatures I use regularly to a Signatures list in Copied, and whenever I needed to insert one in an email on iOS, I’d switch to Copied’s keyboard, tap the signature I wanted, and then switch back to the regular keyboard. It was a decent system, but not nearly as convenient as avoiding the keyboard dance and just typing sigz or whatever. Also, Copied hasn’t been updated in a couple of years, and I was afraid it would stop working with some update to iOS.

So thanks to Jaim and especially Tim. As always, there’s a 70s song with apropos lyrics.

  1. Yes, yes, I know, but syncing of text replacements really does seem to work now. At least it does for me.