article_image

用 Keyboard Maestro 打造真·快捷键之王

author_avatar

发布于:2024-07-03 18:00:00


更多文章

article_image

早在 2017 年左右,Hum 就提出了“快捷键之王”的概念,后又总结成文《征服 macOS 快捷键(一)——快捷键之王》,将呼出菜单栏项目搜索的原生快捷键 ⌘Command-⇧Shift-/ 推到极高的地位。尤其在 DEVONthink 或 Microsoft Word 这类灾难级的软件中,实在无法想象终日翻找菜单栏何其恐怖。

如果在某次大灾难中,你傻了!脑容量骤减,就能记住一组快捷键了!那在 macOS 上你应该记住的,我相信就是这组快捷键之王——⌘Command - ⇧Shift - /

Alt text
菜单栏里的“帮助” 图:Hum

确实,macOS 的菜单栏很可能包括当前软件的多数功能——在浏览器中,甚至可以搜索书签和历史记录——若能随时搜索菜单栏,则多数功能将手到擒来,不必勉强自己背诵过多的快捷键。实际上,不少人也陆陆续续意识到菜单栏诚乃宝库,有人做了一个搜索菜单栏的 LaunchBar 动作,还有人专门开发了一个菜单栏项目启动器 Finbar,随后有人又基于前者做了一个插件

种种第三方方案皆有一个共同点:不满足于原生“快捷键之王”逼仄的交互界面,转而求诸类似于 Spotlight 的启动器界面,无论是借助现有自动化工具,还是自己造轮子,做一个全新的软件。在 Keyboard Maestro 11 发布后,我也借助新模块做了一个 Keyboard Maestro 版的“快捷键之王”,相较于其他方案,Keyboard Maestro 版胜在:

  1. 不需要编写代码;
  2. 能记住上一次输入的关键词;
  3. 每个软件都有各自的历史记录。
Alt text
通过“快捷键之王”在无数菜单栏项目中直取目标

只可惜在将近半年的时间里,Keyboard Maestro 11 尚有一些 bug,导致后两项特性一直无法达成,直至最近一次升级(11.0.3),种种设想才得以实现,本文也终于敢冠上“真”(shin)之名。

若单单想要一个类似 Spotlight 界面的快捷键之王,则 Keyboard Maestro 自带的 Select Menu by Name 模块足以解决一切,你不必安装其他软件,也不用自己写代码,即可得到一个实时搜索当前软件菜单栏的输入框。当然,若事情止步于此,我也不需要多费笔墨。配合 Keyboard Maestro 中丰富的 Token,你还可以让真·快捷键之王记住上一次的输入,并且视软件不同而专门记忆,且同样不需要接触代码。

Alt text
Keyboard Maestro 步骤

记忆历史输入,只需 %SelectMenuByNameText%,它可以记住 Select Menu by Name 模块中上一次输入的文本。例如修图时,某一天我可能需要多次设置高斯模糊,但这一操作又远远不及值得绑定快捷键的地步;若快捷键之王拥有记忆,则在当日只需输入一次,接下来若要连续设置,则每次呼出搜索框后顺势按下回车键即可,不必反复打字。LaunchBar 也有类似的设计,诚为启动器典范。

至于为每个软件设置单独的历史记忆,则需要一些巧劲:利用 Keyboard Maestro 的字典(Dictionary)。字典是一种特殊的数据,成双成对,通常是多组 键:值 数据的组合,通过指定的 ,就能获得对应的 ——不用觉得抽象,在我们的例子中,字典设计意味着只需输入软件名,即可获得上次在其中输入过的搜索关键词(若有)。

Keyboard Maestro 字典设置界面简单明了,如前所叙,你只需要填入键和值——在本文例子中,键是 %Application%1%,表示当前软件,值是 %SelectMenuByNameText%,表示刚刚在 Keyboard Maestro 菜单栏搜索框中输入的文本——而至于字典本身,随意取名便是(我取的是 selectmenuHistory)。

至于从字典中取用数据,也是按“键”索“值”,遵循以下语法:

规范:`%Dictionary[字典名(两侧不带百分号),键]%`
本例:`%Dictionary[selectmenuHistory,%Application%1%]%`

将上述表示字典的文本预先填入 Select Menu by Name 模块的搜索框,即可在每次搜索时提供参考文本,或可减轻一些操作量。

Alt text
不同软件有不同的输入记录

本文虽不惮于称“王”,甚至冠上“真”的前缀,但若细究起来,其实仍有改进空间。例如在预先提供关键词时。是否有可能提供更多的历史记录,而不限于仅仅上一次?再如,Keyboard Maestro 版的快捷之王并不显示菜单栏项对应的键位(如有),若能附上,多多少少也益于用户学习快捷键……种种可能,不仅无损于“快捷键之王”的概念,反倒更令人期待将来。

Long Live The King!

🛍 我撰写的付费栏目《Keyboard Maestro 进阶指引》正在 UNTAG 售卖,详解 Keyboard Maestro Macro 高级设计思路,欢迎选购:付费内容链接

Keyboard Maestro 进阶指引
Keyboard Maestro 进阶指引

author_avatar

Lawyer, macOS/iOS Automation Amateur