blob: fd51cd8bd90bab7a60b88778c2eb991ac050bdfe (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
|
+++
title = "用 Apple 快捷指令让手机干好正事"
tags = [
"Apple",
"效率",
"软件",
]
categories = "生产力报告"
date = 2025-05-24T01:30:00
draft = false
toc = true
aliases = [ "/posts/用apple快捷指令让手机干好正事/", "/posts/shortcuts",]
slug = "shortcuts"
url = "/essays/shortcuts/"
+++
今天写点轻松的话题,谈谈工具使用。从拿到 iPhone 之后,我就喜欢时常折腾「快捷指令」,也就是 Shortcuts(捷径),是 Apple 生态中我认为最好用的原生软件之一,~~如果不谈它反人类的编辑体验的话~~。[^1]
在这篇文章里,我将会阐述在我心中快捷指令的定位,并分享我常用的一些快捷指令,以及我如何使用它们。<!--more-->
## 什么是快捷指令?

快捷指令(Shortcuts)是 iOS、MacOS 和 WatchOS 等苹果操作系统上自带的软件,原本是一个名为 Workflow 的第三方软件,在 2017 年被 Apple 收购后成为了免费的系统软件。顾名思义,快捷指令是帮助用户快速执行某一操作的指令,用户可以使用别人创建的快捷指令,也可以按照需求创建自己的快捷指令。
{{< gallery >}}



{{</ gallery >}}
用户可以使用拖拽的方式选取指令,来编辑一个快捷指令中顺序执行的操作。这其中包含了一些基本的控制流(如果、选择、循环等)和一些数据结构(列表、词典等),甚至还能写注释,编写一个快捷指令的过程其实很像编写一个简单脚本的过程。由于不需要编写代码,所以对没有编程基础的用户也很友好。
不过,我自己觉得,如果习惯了写代码,用傻瓜式的拖拽操作反而觉得别扭。

不过编辑体验并不是快捷指令的重点,重点在于它能很好地和其他应用进行联动,比如获取日程、添加备忘录、发送电子邮件、询问 ChatGPT、查询天气、用 WPS 放映文件等。
一些第三方应用对快捷指令的支持不太好,比如 QQ 提供的快捷指令就只有「重新加载小组件」「查看好友动态」和「发条说说」。对这些应用来说,快捷指令就不太能施展拳脚了。[^2]
## 压缩干扰时间
因为本质上是一个低代码的脚本编写和运行软件,所以快捷指令能干的事情其实很多。尽管快捷指令和真正的脚本比起来限制不少,但它能实现的功能的确能满足不少需求。如果用户有一些小众需求没有软件能够满足,也可以自己编写快捷指令来实现,开发成本很低。
一个设计原则叫作「形式跟随功能」(Form follows function),我们不妨尝试从形式中探究开发者对快捷指令的定位究竟是什么。从形式上看,快捷指令就是一个个可以自由更改内部结构的「按钮」,这些按钮做好之后可以放在任何地方,主屏幕、小组件、控制中心等,甚至用操作按键或「敲击背面两下」这样的物理操作快速运行。可以看出来,几乎每一个用户能够到的地方都可以被用来执行快捷指令,Apple 似乎想要把快捷指令设计成「**只要想,就能立刻执行的操作**」。
对我而言,对「速度」有要求的场景主要有两个:
1. 专注于现实生活中时,必须拿起设备执行某个操作,但想要尽可能减少浪费在屏幕上的时间。
2. 在设备上专注于某个任务时,需要离开当前界面或操作流程执行某个操作,但想要尽可能减少被打断的时间。
总而言之,我认为「快捷指令」的最佳用途就是「减少干扰时间」。减少干扰的目的不一定是强迫自己专注工作,我认为任何类型的体验都要尽可能连贯,在看剧、玩游戏和社交的时候被干扰会打破这种连贯性,拿起手机被新消息吸引注意力后也会让体验受到很大影响——难以避免的打断还是尽可能短比较好。
举个例子,iPhone 15 Pro 和 iPhone 16 系列设置在音量键上方的操作按钮(Action Button),允许用户在不解锁手机、不进入主屏幕的情况下,直接执行某个操作。在很长一段时间里,我一直将这个按钮设置为「打开相机」,因为这样我想拍照的时候只要举起手机就能拍,而且 iPhone 的音量上下键还能当快门用,**我不需要点击屏幕就能完成拍照**,甚至不用多看屏幕一眼。
如果我在做某件事情的时候,脑子里突然蹦出来一个新想法,而我的身边又没有纸和笔,或者不方便停下来书写(我在跑步的时候经常遇到这种情况!),打开备忘录记录又太麻烦,用快捷指令呼出一个输入框,快速地将想法记下来,就省事很多。
## 优雅地呼风唤雨
如果要打开「快捷指令」应用,然后找到某个文件下的一个快捷指令,再点击运行,我认为是不合理的,就像我的高中班主任教我们把方便面在锅里多煮一煮再吃才比较健康一样荒谬——吃方便面图的不就是方面吗?
我执行快捷指令的方式主要有这几个:
1. 轻敲背面两下
2. 轻敲背面三下
3. 操作按钮
4. 控制中心
5. 将快捷指令添加到主屏幕
前三种方式不需要离开当前页面就能执行,而控制中心还需要从右上角往下拖才能在一个更复杂的页面中找到指令,我认为应用场景较小。
我已经把自己的主屏幕精简到只有一页了,而且这一页里甚至还有三个叠放的小组件。我手机上使用的 App 已经被精简到了极致,要往里面再塞下快捷指令的书签有些困难。而且,我已经养成了操作习惯——主屏幕图标是打开应用的,执行指令一般不会出现在应用图标之间——我觉得「将快捷指令添加到主屏幕」的方案有些反直觉。
然而,无需点击屏幕的物理按键又是有限的,所以我的方案是,将最常用、最需要屏蔽干扰的操作设置为前三种触发条件。至于其他使用频率相对较低的,我有一个折衷的方案。
我把轻敲背面三下和操作按钮设置成了显示某个快捷指令文件夹,这个文件夹里只放了常用的四个快捷指令,熟练之后可以快速定位每个快捷指令的位置。触发方式听起来很繁琐,但其实很顺滑。
四个槽位对我来说不太够用,虽说「显示文件夹」的操作实际上可以显示八个快捷指令,但我并没有八个使用频率都很高的快捷指令,那样做反而会让操作界面变得更复杂。
于是,我只留下了三个最常用的操作,然后编写了一个名为「More」的快捷指令,列出另一个文件夹里的快捷指令。那些不太常用的操作,只需要再多点一下,其实没有很麻烦。
{{< gallery >}}


{{</ gallery >}}
这样就拥有了一个随叫随到且简单强大的操作菜单,由于是基于物理按键操作呼出的,一掏出手机就可以呼出菜单,极大程度上地减少了干扰。
## 我常使用的快捷指令
### Cush 记账
> [!note]
> 触发条件:轻敲背面两下
之前一直觉得记账是件麻烦事,但也算是坚持下来了。高中用手帐本记账,之前还在用华为手机的时候不得不忍受操作繁琐的常规记账软件,每天消费完都要火急火燎地打开记账软件,然后对着海一般的记账分类发懵……
我在使用的名为 Cush 的记账 App,提供了一个记账的快捷指令,可以截图并识别屏幕上的文字,提取数字作为消费金额,帮助用户快速记账。[^3]
待消费确认之后,停在订单界面,轻敲手机背面两下,就能一键识别金额,自己只需要打上合适的标签就可以了。
### 新想法
> [!note]
> 触发方式:按下操作按钮或轻敲背面三下,然后点击弹出窗口中的对应选项
前文提到,虽然我很喜欢用本子,但有新想法时我并不总是能够用纸笔做记录,但手机却能很方便地从兜里掏出来使用。手机真的非常适合用来快速收集信息(只要不忘记收集之后及时处理)。
我的方案是,在备忘录里新建了一个名为 Thoughts 的置顶备忘录,然后编写快捷指令,让执行指令时弹出一个输入框,将我输入的内容插入到这个备忘录之后。为了防止我只顾着收集而把这个备忘录当成垃圾堆,每次收集之后,快捷指令会弹出一个窗口显示这个备忘录里已经有的内容。实际使用过后,我发现就算是在真的很忙的情况下,我也会在快速瞥见已经记录过的想法时,产生一些新的洞见。
### 添加到收集箱
> [!note]
> 触发方式:按下操作按钮或轻敲背面三下,然后点击弹出窗口中的对应选项
想法和灵感不同于「事项」,需要和待处理的事情分开来收集。如果我意识到我需要去做某件事情,或者需要考虑做某件事情,又或者是接受了委托、被分配了任务等等,我就会把这件事情添加到我每天一定会查看的收集箱里。
这个「收集箱」其实就是一个提醒事项列表,我把这个列表置顶了,并且每天列待办事项时都会打开来看,以确保我不会忘记重要的事情。
收集箱在英文里叫 Inbox,其实大部分人都把它叫作「收件箱」,这是直接翻译过来的。不过,我觉得在中文里,收件箱是针对邮件和信息的,用来收集待办事项的,就应该叫做收集箱。在这里保持翻译的一致反而是在欧化中文。
### 稍后提醒我
> [!note]
> 触发方式:点击二级菜单里的对应项目
有的事情比较紧急,或者过一会就去做了会更方便,比如会议结束后去取快递、吃过饭之后去买水果这样的事情。这些事情放在收集箱里,我可能会等几个小时后才会查看,就起不到提醒的作用,所以我往往会添加固定时间的提醒事项。
不过,我不得不批评 Apple 的软件设计,打开提醒事项添加新项目很快,但要给他设置时间,就要多点一次「详细信息」进入下一级页面,而且详情编辑页面里的内容很多很杂,看得人眼花。虽然提醒事项有自然语言识别功能,但效果真的不好,连「下周四下午三点」这样的表述都识别不了。
添加定时的提醒事项是一个我经常用到的操作,我想尽可能简化这个过程。由于我的课程、工作时间和其他重要日程都是通过苹果日历管理的,而快捷指令可以访问我的日历,所以我完全可以编写脚本,**自动获取最近日程的结束时间,再将这个时间自动设置为提醒时间**。如果我想要在日程结束后休息一下,或者等到回家再提醒,我可以让选择让快捷指令自动将提醒时间推迟半个小时;有的时候我希望在下一个日程之前的半个小时提醒我做准备,用快捷指令也可以自动获取这个时间点。如果没有邻近的日程,就设置在当前时间的三十分钟后,
{{< gallery >}}



{{</ gallery >}}
如果你需要这个快捷指令,可以点击[这个链接](https://www.icloud.com/shortcuts/04413630c76849d8abe56346c4938b27)获取使用。
### 付款码
> [!note]
> 触发方式:主屏幕书签
我记得这是我从少数派上的一篇文章中拿过来的,但我找不到出处了。用快捷指令打开微信和支付宝等软件的付款码界面,真的让我平常的支付体验顺滑了很多。
支付宝对快捷指令的适配要比微信好一些,有能够直接打开付款码界面的指令,但微信就没有了。如果要打开微信的付款码界面,可以使用 URL Scheme,用快捷指令打开 `weixin://widget/pay` 这个 URL 就能直接打开微信付款码。
因为我一直把微信、支付宝和一大堆乱七八糟的即时通信软件放在一个文件夹里,然后把这个文件夹放在 Dock 栏,所以早就习惯了在 Dock 栏里找支付软件,也因此,我把付款码的快捷指令也放在了 Dock 栏,这样就能在熟悉的位置找到这个更方便的操作了。
这下付款的时候不用被突然弹出来的微信消息打扰了,有什么事情付完款再慢慢看也好。[^4]
### 其他
这些都是我没有设置快捷触发方式的快捷指令,不那么常用,但还不错。我会通过 Siri 运行这些指令,或者在快捷指令 App 中直接找到它们(如果习惯了,快捷指令 App 其实也可以当做一个工具箱来用)。
这些快捷指令实现的其实是不需要快捷指令也能较快完成的操作,但做成快捷指令,就建立了一种「使用场景」,为特定情景设计的快捷指令其实也能帮助使用者减少干扰。
- [清理截图](https://www.icloud.com/shortcuts/cc8e0354b1d8411cbdb1156afac1b59f):日常使用手机时免不了经常截图,截图往往是一次性的,如果没有及时清理就会堆积在一起,污染相册时间线,还占用本地空间和云端空间。苹果自带的 Gallery 里有一个叫 Clean up screenshots 的快捷指令,会列出最近的所有截图,让用户选择部分删掉。
- [音乐测试](https://www.icloud.com/shortcuts/473b96e8831747be909b4f0f38c2644b):也是苹果自带的 Gallery 中的快捷指令,会从你的 Apple Music 资料库中随机播放五首歌,每首歌播放时会呈现几个选项,游戏目标是猜对全部五首歌。这个游戏还挺简单的,几乎每次都能全对,不知道的也可以通过歌手和专辑排除选项(也可能是我听的歌太杂了啦!)
- 查词:我之前找了一个免费的词典 API,让快捷指令请求用户输入后,发送请求给 API,然后解析数据,显示 API 给出的单词释义,但当我发现 iOS 和 MacOS 有系统自带的词典,可以在选中一段文字后直接查询之后,我就再也没有用过这个还要自己拼写一遍单词的指令。
- 完全静音 / 打开声音:作为学生,上课时总是难免要开免打扰,关闭铃声,再将媒体音量调到 0。这一套操作有些繁琐,干脆用快捷指令一键搞定,相应地,下课后打开声音的操作也可以用快捷指令完成。
---
快捷指令其实还有「自动化」的用途,但限制实在太多,功能也太少,我想做一个提醒我给 Apple Watch 充电的自动化实例都不行。好笑的是,明明 Apple Watch 的续航比 iPhone 弱得多,但 Apple Watch 却可以通过同步通知的方式提醒我给 iPhone 充电。
总而言之,这就是我使用快捷指令的方式,我认为使用任何电子设备和软件,最重要的都是「让他们干好该干的事情」,减少「不该干」的干扰是必要的。
[^1]: 对普通用户来说,快捷指令的编辑体验可能还不错,但作为程序员还是想要能直接用键盘写代码,把各种指令拖来拖去实在是太麻烦了。
[^2]: 之前想做一个「智能收件箱」的快捷指令,把 QQ、微信、钉钉、企业微信和邮箱等各处的消息汇总在一起,如果有时间折腾,还能编写恰当的提示词,用 ChatGPT 或其他大语言模型客户端提供的指令,过滤不重要的消息,呈现出一个清晰的待处理消息列表。可惜啊,不少软件都对优化与苹果生态的兼容性不太感兴趣。
[^3]: 这个快捷指令还有一个 AI 的版本,可以自动给消费打标签,但我没有使用,因为:一、如果标签和分类也让 AI 做,那自己的账单就会变得很陌生;二、AI 识别的结果会添加一些不必要的标签,而且识别结果也挺不准确的,会把我在学校食堂的消费识别为「教育支出」,但这也是没办法的事情。
[^4]: 而且很多时候扫码付款是在餐厅,有什么事情比吃饭还重要?
|