知识点:
  1. 操作:文本(Text)
  2. 操作:拷贝至剪贴板(Copy to Clipboard)
  3. 操作:打开应用(Open App)
  4. 操作:URL
  5. 操作:打开 URL(Open URLs)1 
  6. 捷径知识点:「打开应用」和通过 URL Schemes 打开的区别
  7. 捷径知识点:快速输入栏——剪贴板(Clipboard)
  8. 捷径知识点:在通知中心小组件中运行捷径

平时发信息聊天的时候,因为脑子飞得快,发的消息快,经常会有「聊劈叉了」的时候。群聊就更容易聊着聊着不知道话题歪哪儿去了。有很多工具为了解决这个问题,加上了类似评论或者转发的功能,比如 Slack 和 Telegram:

Slack(左)和Telegram(右)的回复功能

在 Slack 和 Telegram 里长按想要回复的消息,就可以对消息进行评论或转发,而且会有特殊的样式。

但也有一些工具比较后进,比如苹果的 iMessages 和微信。

不过微信的 Mac 版提供了一个有趣的引用方式:

微信 Mac 版的引用功能

它把发言者和发言内容用引号框起来,再在下面加了一行分割线,让其他人可以清楚地看出来谁说了什么,分割线上面的话为引用,下面的话是回复。

微信 Mac 版的方法几乎是纯文本的,因此通过捷径中和文本相关的操作,我们可以把这种方法应用到其它不支持引用的软件中,包括微信的 iOS 版。

通过捷径要做到这个需求异常简单,只需要两个操作:

  1. 文本(Text)
  2. 拷贝至剪贴板(Copy to Clipboard)
文本和拷贝至剪贴板

在使用时,我们:

  1. 复制对方的消息

  2. 运行这个捷径

  3. 在对话框里粘贴,光标会像下图这样直接出现在分割线的底部:

    光标直接出现在分割线下方
  4. 写下自己的回复

这个捷径比较巧的思路在于「文本」操作中的预设:

文本框中的排版

首先我们模仿微信 Mac 版,用直角引号框住了 剪贴板 里的内容。

然后我们在这剪贴板之下,加上一行短横作为分割线。

最后这一步是关键,加完分割线之后,再多加一个回车(↩Return),这才能保证我们粘贴到信息输入框时,是直接在新行开始回复的。

有朋友可能会问,「文本」操作中,像按钮一样的那个 剪贴板 是什么?怎么把它放到操作里?

「文本」操作里的这个 剪贴板,是由于我们会经常在捷径中用到剪贴板——比如复制了文字、链接、图片等——捷径开发者为了我们便于操作,专门放在键盘上方的一个相当于快速输入的东西。

键盘上的快速输入栏

除了 剪贴板,这一行还有 变量当前日期捷径输入 、运行时询问 这几项,都可以节省我们很多操作。上一周,我们在输入最近天数的时候已经见过的 运行时询问;这一周我们了解到了 剪贴板,5 个基本的快速输入我们已经熟悉了 2 个(进度 40%)。

这一行快速输入我们会经常用到,而且一般是用于「文本」操作里的,所以你也会发现「文本」这个最其貌不扬的操作在日后出现的频率会很高。这主要是因为它很直观,而且可塑性很好,有点儿「所见即所得」的味道。比如在这个捷径里,我们先在「文本」操作中,把引号和分割线,还有换行都摆弄好,动作一运行,它就会按照我们的排版出现。

单独运行排版后的「文本」操作

随后我们接上「拷贝至剪贴板」这个操作,很容易理解,就是要把排好版的这段文本保存到剪贴板里。

操作「拷贝至剪贴板」

「拷贝至剪贴板」操作下有 2 处可以调节的地方:

  1. 仅本地:即这个内容不通过 Universal Clipboard 这样的方法传输到其它设备。
  2. 到期时间:给剪贴板中这段内容加上一个「自动销毁」的时间限制,到时后销毁。

这 2 项一般都是在复制密码这种事的时候会用的,通常我们不需要调节它们。

好,按说到了这里,我们这个捷径就算制作完成了,但是我们还是要设想一下它的使用场景,并根据这个场景来优化。

我们想,我们一般是聊天的时候用这个捷径的。如果聊天的时候我们要退出聊天工具,找到捷径应用,打开它再运行一下这个捷径,还要再手动切换回来再粘贴,那就很麻烦了。怎么样让这个过程更顺畅一点?更行云流水一点?

那么这里要解决的是 2 个问题:

  1. 捷径在不打开应用的情况能不能运行?
  2. 运行完捷径后能不能跳转到我想打开的应用?

这两个问题的答案都是肯定的。

关于第一个问题,不打开应用的运行指定捷径的方法有 4 种:

  1. 通过通知中心小组件运行
  2. 通过分享菜单运行
  3. 通过跳转运行
  4. 通过 Siri 运行

这些运行方式都各有各的用武之地,我们也会在之后的内容里覆盖到。在「引用消息」这个需求上,我个人建议使用第一种方法——在通知中心小组件中运行。

当我们打算在通知中心小组件中运行一个捷径,我们需要在捷径的操作列表界面的右上角,找到表示设置的开关图标,这是每个捷径的设置界面的入口。轻触它后在弹出的菜单中找到「在小组件中显示」,并打开它的开关。

如何开启「在小组件中显示」

随后,在通知中心小组件里划到底部,选择「编辑」,再在候选菜单里找到捷径,轻触右边的绿色加号(+),把捷径添加到通知中心小组件中。

把捷径添加到通知中心小组件中

这样我们就可以在通知中心小组件中调用「消息引用」这个捷径了。接下来,我们要完成的是跳转。

捷径中有一个操作——「打开应用」:

操作「打开应用」

它可以读取设备上的所有应用。把它拖到捷径列表中,选择你想要打开的应用,当捷径运行到这一项操作时,它就会自动帮你跳转到你想打开的应用。

各位常用的,不支持引用的聊天应用,大概只有微信和 iMessage 是不支持跳转的,再加上我们用聊天工具一般都会偏重于其中一项,所以各位在这一步选择其中自己最常用的聊天工具即可。

最后是视频演示:

复制文本后跳转到信息视频演示

各位可以发现,视频中我的操作是:

  1. 复制要回复的文本
  2. 回到主屏幕
  3. 拉到最左一页选择「消息引用」捷径

随后捷径会自动帮我打开 iMessages。

为什么这么做?这是因为当全屏运行某个应用的时候,捷径无法通过「打开应用」这个操作再次打开这个应用,会提示「该应用无法打开」:

捷径提示「该应用无法打开」

想要解决这个问题也有办法,那就是不使用捷径的「打开应用」操作,而使用 URL Schemes 的跳转。在这篇文章我们先不多介绍 URL Schemes,2 直接来看如何用它解决问题。

我们这里要用到一组经常组合出现的操作:

「URL」和「打开 URL」
  1. URL
  2. 打开 URL

看名字就知道这俩是一对儿了。打开微信的 URL 是什么?我已经听到先进的同学的抢答了:wechat:

我们把它填到「URL」这个操作中,下面再接上「打开 URL」,就可以让捷径运行到这里时自动跳转到微信,不管你此前是否打开了微信。

至此,我们通过捷径,解决了在聊天时的消息引用问题,并且把整个流程缩减到了最少的步骤。

最终的动作流程

动作下载:消息引用

本节练习

如何处理多次引用,使每一行都只有一层引号的嵌套,并保证我们输入文字的时候没有引号嵌套?比如把左边这样的变成右边这样的:

练习目标

提示:超纲题,需要用到「拆分文本」、条件和重复等相关操作。

致谢:文中捷径灵感部分来自 @Im61,征得本人同意后使用。

  • 1此处我们也可以看出中英文表达方式的区别,少了这一个「s」,表达的含义可是大大不一样了。在捷径中,「Open URLs」这个操作可以同时打开多个网页,全凭这个「s」传递这个信息。拿掉这个「s」,只用中文的捷径使用者不知道要多久才能意识到这操作可以打开多个网页。
  • 2想要了解 URL Schemes 的人请先看这篇文章:《URL Schemes 使用详解》 https://sspai.com/post/31500