article_image

编注:本文由读者 @alexzzc 投稿,介绍了 macOS 自动化工具 Keyboard Maestro 的多种使用案例。

Keyboard Maestro(后文简称“KM”)脚本最常用的触发方式应该是为其分配快捷键,此外为了应对常用快捷键的冲突,还提供了“Palette Trigger”的方式,此处不多赘述。对于其他触发方式的探索,尤其是满足条件时的自动触发,一直以来是我更感兴趣的,下面通过一些个人案例,阐述下多种触发方式的拓展应用。

1. Typed String Trigger

相信很多人发现了这种触发方式的潜力,其中于我最常用的,应该是微信表情符号的自动上屏。

在聊天中,如果可以方便地应用表情符号,可以让我们所传达的信息更加丰富,窥探语言背后的真实情绪。该 Macro 通过输入预先设定的输入短语,可以让 KM 将其替换为微信可识别的表情符号匹配符,比如“偷笑”,即可无需点击、选择自动生成表情符号。

另一个使用案例可能更加 tricky 一点,但我非常喜欢。

我的需求是这样的:在使用 Alfred 命令台的过程中,如果我想进行特定检索,需要先输入前缀词,比如“bd”代表从百度中检索内容,“zh”代表从知乎中检索。在输入前缀词以及空格后,再输入需要检索的内容,比如“zh 一加一等于几”。

在这个过程中,我发现前缀词全部是英文,而我的检索内容几乎全部是中文。由此带来的问题是,在输入前缀词后,我需要从英文输入法切换为中文输入法输入检索内容。能否通过自动化的脚本切换输入法呢?

做法是这样的,很简单:当我输入“bd ”、“zh ”后(输入内容包含空格),Typed String Trigger 就会生效,帮助我切换输入法。当然,在我正常输入中,不会误触发此 Macro,也即不会使用被此 Macro 占用的符号组合,这一点非常重要。

注意,如果使用此 Macro,需要取消勾选“Simulate 3 deletes before executing”。

顺便一提,Alfred 可以自定义唤出指令台后的输入法,比如每次唤出都自动切换为英文输入。

这样一次简单的检索,输入法往往从中文→英文→中文,而这一切都是自然发生的。

2. 文件监控,当满足条件时触发 Macro

有时在工作中,我会有处理一些制式文件的需求,这些文件的格式都是一样的,所需的操作步骤也是一样的,而且文件名中都带有相同的元素。通过按键模拟,我可以实现让 KM 操控 WPS,对文件先做一部分基础处理动作(Excel 里的 Power Query 模块可以执行制式处理,明显更高级,可以处理的数据量更大,但是 Mac 只能采用土味方式了……),但是如何方便的触发该脚本呢?

Hazel 应用可以监控文件夹,找到符合条件的文件,并且支持 Apple Script 语句。所以我们可以让 Hazel 帮我们找到所需处理的文件,然后通过 Apple Script 与 KM 连接,从而触发 Macro。

实际方案如下:

在 Hazel 中,创建文件监控与指令规则。在以下图片中,代表的一系列操作是:

  1. 监控“Downloads”文件目录
  2. 当该目录中出现以“员工离职统计”字样为开头的文件时
  3. 将其移入“员工离职统计”文件夹
  4. 打开该文件
  5. 执行 Apple Script 语句

具体的语句是这样的:

  1. 停顿三秒
  2. 按下 Command-Option-Control-Y

Command-Option-Control-Y 正是 KM 相关 Macro 的触发条件(这样占用了一个可有可无的快捷键,或许有更好的语句,但我觉得已经可以了)。

这样,当按下下载键的时候,如同多米诺骨牌一样,最终 Macro 会被触发,可以替我完成比如排序、增加删除整行或整列、筛选、替换、编号、套用 VLOOKUP 公式、高亮,甚至数据对比、根据数据处理结果自动发送邮件、生成提醒事项等等操作。

3. 快捷键增强

对于系统或者应用的一些内置快捷键,我们可以利用 KM 进行增强,为我们提供更多便利。

比如,我经常使用 Siri 创建提醒事项,因为 Siri 支持自然语言输入,而且被识别为提醒事项的选项,加上 Siri 和提醒事项在 Apple 全生态中的同步,所以 Siri 和提醒事项是我最有力的 GTD 日程管理工具组合。

在上图中可以看到,我输入自然语言后,提醒事项识别了语言中的日期和时间,这是非常快捷方便的。

那 KM 可以做什么呢?

因为,在我给 Siri 自然语言中,必须包含“提醒我”三个字,如果没有,结果指令就给到了日程应用,而不是提醒事项。日程和提醒事项是类似的两个应用,但我只使用提醒事项。

所以,我的重复劳动就是每次创建日程都要多打三个字,不多,只是多敲十下键盘。但鉴于截止今年我已经创建并完成了 1300 多项日程,其中三分之一都是从 Mac 端输入的,我还是决定改变这个现状。(总体大概等于敲 4000 下键盘。)

为了实现,只需要将 Macro 的触发快捷键与 Siri 的启动台快捷键设定为同一按键组合,设定延迟,预设“提醒我”文字即可。

4. 使用 Alfred 检索 Macro

随着 Macro 使用的深入,即使有部分 Macro 可以随场景实现自动化,但是众多的 Macro 仍然面临如何快速启动的难题。

对于使用频率高的 Macro,固然可以分配快捷键,但因为有些 Macro 使用频率不高、好用的快捷键有限、快捷键过多导致记忆压力大等因素,必须采用其他方式。其中,大多数人可能偏好 Palette 快捷键冲突调色板来解决,但是我践行的是“全键盘操控”理念,即尽可能避免使用鼠标,所以虽然重度使用了 KM,却从未使用过 Palette。

据我感知,全键盘理念的优势如下:

  1. 右手在键盘和鼠标间切换,来回移动降低操作效率。
  2. 鼠标操作难易形成肌肉记忆,需要消耗一点点的注意力将鼠标指针移动到所需的位置,积少成多消耗精力。
  3. 使用鼠标右臂容易劳损。

那如何使用键盘启动众多 Macro 呢?

Alfred 有个插件,可以解决这个问题。(另一款非常棒的应用 Raycast 也有类似插件,我一直是 Alfred 和 Raycast 双启动台。)

通过为 KM 分配前缀词,可以检索 Macro 并回车启动,常用的 Macro 排列在上方。配合上文提到的启动台自动切换输入法的 Macro,这种方式更加灵活好用。

结语

或许你看了我的案例觉得一无所得,因为这是针对我个人工作流所做的配置。KM 是极复杂的工具,为了让它为你服务,首先需要你有着优化的意愿以及兴趣。其次,需要对它乃至更多的工具有着足够的了解,知道它有哪些功能。最后,还需要你在工作和生活中善于发现需求,找出重复劳动之所在。

更多的兴趣爱好带来更高水平的快乐;更好的工具方法解放人的时间、精力。所以我们需要积极探索、寻觅契机,给予新事物充分的容错空间。


author_avatar

Hi,我是 alexzzc