惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

G
Google Developers Blog
Google DeepMind News
Google DeepMind News
Microsoft Security Blog
Microsoft Security Blog
Martin Fowler
Martin Fowler
MyScale Blog
MyScale Blog
The GitHub Blog
The GitHub Blog
I
InfoQ
A
About on SuperTechFans
GbyAI
GbyAI
宝玉的分享
宝玉的分享
爱范儿
爱范儿
博客园 - 【当耐特】
博客园 - 司徒正美
博客园 - 聂微东
P
Proofpoint News Feed
WordPress大学
WordPress大学
云风的 BLOG
云风的 BLOG
Last Week in AI
Last Week in AI
阮一峰的网络日志
阮一峰的网络日志
B
Blog RSS Feed
Jina AI
Jina AI
aimingoo的专栏
aimingoo的专栏
J
Java Code Geeks
博客园 - 叶小钗

少数派

派早报:Google 发布 Fitbit Air 等 - 少数派 「新人报到」確認需求,再開始 - 少数派 从 SOLO 独立开发者社区,我看到了越来越多开发者开始做自己的产品 - 少数派 我怎么管理那些"不常做,但总会忘"的生活事项 - 少数派 人形机器人量产元年,数据才是具身智能的“生死线” - 少数派 BuhoLaunchpad 高度还原 Mac 启动台:开发历程与思考 - 少数派 五年陪伴依然不舍,DIY 换壳后让罗技 MX Master 3 继续服役 - 少数派 新玩意 240|少数派的编辑们最近买了啥? - 少数派 一日一技|为什么你应该关闭 iOS 的键盘声音 - 少数派 我做了个插件和 Skills,一键提取任何网站的设计规范 Design.md - 少数派 住在三四线城市的你,该开始录播客了 - 少数派 甘南秘境,大白高国 - 少数派 AI的审美:谁让把我变成川内倫子 - 少数派 返工怎能不烦恼,打工人片单总有一部是你的「嘴替」 - 少数派 为了让「上厕所」更健康,我做了一个小工具 - 少数派 AI + Skill,能够让生成的文章去除 AI 味吗? - 少数派 新玩意|韶音OpenDots ONE 耳夹式耳机 - 少数派 《美满》| 在每一个春天的晚上相爱(362) - 少数派 新玩意|优篮子 PS01 MagSnap 磁吸支架 - 少数派 自我整合手记 | 我开始早睡了:用稳定规则,为自由托底 - 少数派 用龙虾(OpenClaw)两个多月,我最深的12个体会 - 少数派 听歌时间到,12 张你可能错过的 2025 华语乐坛好专辑 - 少数派 承诺能追吗 - 少数派 macOS 26启动台没了? 我做了个不一样的App启动器 - Keboard - 少数派 《四海为家的人》| INTJ对话INTJ(361) - 少数派 你发过的那些黑历史,是时候一次清干净了 - 少数派 新玩意:安安静静玩,越玩越专注:计客密码机 - 少数派 iPad 用户首次体验 Android 平板:vivo Pad6 Pro - 少数派 数据逻辑强 - 少数派 极北行+ | 一路向北,探访日本至北之地 | 001 - 少数派
懒的前提是要足够高效: Mac 效率工具 Keyboard Maestro 详解...
2015-04-16 · via 少数派

有句话说得好:懒人都是发明家。这些所谓的「懒人」当然不是纯粹的懒人,他们懂得利用智慧,去尽可能避免无谓的浪费时间,从而达到提高效率的目的。所以说,懒癌也就成为了一种动力,值得人们去借鉴。可问题是,怎么懒才算懒得恰到好处?

之所以要推荐 Keyboard Maestro 这款软件,除了它确实能让你用得特别爽之外,还有另一个主要原因,就是它能代替很多不同类型的软件。先不说这些软件到底是哪些,但不可否认的是,无论它们的整体费用是否超过 Keyboard Maestro 高达 $36 美元的售价,至少后者能同时满足这位用户的所有需求,大大降低了原本的高学习成本。这对新手来说,至关重要。

那么 Keyboard Maestro(下文简称 KM)属于什么类型的软件?我个人偏向于把它视作一个增强型 Automator。大家看截图也能发现,它的用户界面同 Automator 相似,也是传统的三栏式设计,从左到右依次是「Action 类别 > Action 名称 > Action 编辑」的有序区域切割,让用户能比较舒适地进行操作。

管理方面,KM 主要分为三个选项:+ 添加、- 删除、√ 允许/禁止。在第一次启动软件的时候,KM 会给出一个示例教程,教你去执行这三个操作,读者届时尝试的时候,只需按照提示完成所有步骤,就能大致有个「操作」的概念了。

此外,还有两个关于 KM 的名词需要大家掌握。一个叫 Macro 宏文件,我们可以将它理解为独立的 Workflow 工作流程,例如,打开 Finder 就是一个工作流程,只是概念上它仅有一个步骤罢了。另外一个名词叫做 Action 行为,例如,执行一段 AppleScript 脚本语言,或是点击一个 Button 按钮,都属于「行为」的一种。Macro 与 Action 的关系为父与子,Macro 为父,由其子 Action 组成,并最终以 Macro 的命名区分,通过用户拟定的 Trigger 触发,并按照有序的 Script 脚本语法特性,执行所有的 Action 行为。

实例举证

考虑到有些读者可能没有理解上文的意思,那我就结合实例进行介绍吧。

假设想生成一个以「打开 Finder 的 All My Files 窗口」为目的的 Macro,那么此时我首先要在脑中形成一组逻辑。比如,通过什么方式来触发这个 Macro?具体的步骤(Action)有几步,每步的内容有哪些?按照什么顺序去执行这些步骤?等等。针对这个 Macro,我的安排是:通过键盘快捷键触发 > 打开 Finder 并让它显示指定的窗口。

既然有了想法,那就可以开始设计了。但在实际操作过程中,我还遇到了其它的问题:

  1. Finder 是个特殊的进程,因为它一直都处于「活跃」状态。
  2. 基于上述原因,就导致了默认 Actions 中的「Activate a Specific Application 激活一个指定的应用」和「Show a Specific Application 显示一个指定的应用」间接失效了。
  3. 同样,执行 AppleScript 让 Finder 窗口 Activate 也是不行的。
  4. 如果从指定路径打开 Finder,就无法直接显示在 All My Files 窗口了。

可能你会惊讶于这些问题,但无论如何,它们在我操作的过程中都是真实存在的(并且,越复杂的 Actions 还会导致越多的问题),所以在这种情况下,我不得不去寻找代替的解决方案,好在最终我还是成功实现了这一 Macro。

如果你想触发并进入到 Trash 废纸篓所在的 Finder 窗口,可以参照以下 Action 设计。

实践证明,除了 Finder 和 Trash 这些特殊的入口外,其它自带和第三方的应用程序可以通过 AppleScript 的 Activate 特性快速激活,便于直接进入到默认的窗口位置及状态。具体的 Action 见下图。

从效率来看,类似的 Macro 无非是帮助我们免去了鼠标点击的麻烦,让更高效的键盘来帮助执行。从作用来看,它完全可以代替系统指定的 App Shortcuts 功能和第三方应用 Manico,让那些已经选择 KM 的用户省去了一笔费用。它是 KM $36 美元售价的一部分。

这个 Macro 示例向大家展示了 KM 最简单的运行逻辑,同时也提醒大家在设计 Action 的过程中,要时刻测试它的有效性,保证其将来的正常运行。当然,这一点开发商自然也已经想到,所以才会在每个 Action 窗口的右上角提供了「Try 试运行」按钮。

另外,读者在编辑 Action 的时候,也可以点击下方的「Edit 编辑」键,让 KM 根据实情自动将 Action 逻辑转换为相对更自然的语言表达形式,这样我们在检查逻辑的时候,就能更明了地找出其中的错误,望大家注意。

并行使用

习惯用「键盘快捷键」这块功能的用户还要留意,Keyboard Maestro 不存在「按键重叠导致失效」这一说,因为它会自动将同一快捷键下的所有 Macro 都归纳至一个独立的窗口中,用户在敲击键盘快捷键时,这个窗口就会显示,然后再按照排列顺序,点击数字键就可以运行对应的 Macro。而不是像很多快速启动类应用那样,同时执行该快捷键下的所有功能。

何为同步工作?

Keyboard Maestro 还能实现其它很多简单但实用的功能,我本人用到的有这两个。

在 Safari 开启时,自动打开指定 URL 地址。由于这个 Macro 的触发器是 Safari 本身,所以我们要选择「Application Trigger 基于应用程序的触发器」而不是上文所述的「Hot Key Trigger 基于键盘快捷键的触发器」Action,然后选择 Safari 就算完成了触发器设置阶段。

接着,我们只需设置指定的 URL 地址以便 Safari 在启动的同时打开,就可以了。请注意,当你在使用 Safari 或 Chrome 浏览器时,可以在 Action Categories 里选择已经定制好了的 Actions,而其它浏览器则只能通过 Web 标签页下的 Open a URL 实现。URL 的打开顺序同 KM Action 的排列顺序是一样的,因为文章开头就有说过:KM 对于每个 Action 的执行方式都是按步骤执行的,而不是同时运行。

在连接到指定 Wi-Fi 时,打开 GoAgentX 客户端。GoAgentX 是帮助我实现科学上网的,所以才想到创建这个 Macro。它的 Action 设计也不难,只是触发器改为了 Wireless Network Trigger 罢了,具体内容见下图。

这两个示例就是「同步工作」的代表,意味着让指定对象和 Action 之间相互触发,从而使电脑变得更加自动化。类似的例子有太多,我这里也就不一一介绍了,读者们可以自行尝试制作一些初级的 Macro,久而久之,你就会发现 KM 的便捷之处啦。

关于修饰键

过去我曾大力推荐过一款叫作 BetterTouchTool 的软件,因为它可以为系统默认的触摸板和键盘操作,提供一些修饰性的控制方式,说得明白些,这就是一款可以让用户自定义快捷键和多指触控方式的应用。但它有个比较严重的问题,就是在 OS X 10.10 环境下,用户在将「睡眠」状态的设备唤醒后,BTT 可能会无法自动运行。

正是因为这个理由,我一直都想找其它的软件代替它。坦白地说,虽然 KM 对触摸板的支持没有那么全面,但至少它对键盘操作的支持是非常强大且稳定的,所以看在它良好的综合性能上,我最终还是选择了 KM。相信看了接下来的介绍,大家就能有所体会。

回到正题。KM 不仅能像 BTT 那样修饰一些 OS X 默认的快捷键设定,还能针对某些特定按键提供新的操作模式。前者可以通过一个叫作 Type a Keystroke 的 Action 实现(在「Simulate Keystroke 模拟…按键」处键入新的组合键即可),但「特殊按键」又是什么呢?

其实,我所谓的「特殊按键」是指 right command、left command、control、fn、reject、option 等这些修饰键(释义见下方引用文本框),但是 KM Action 中的 Device Trigger 则可以为其单独赋予功能,从而让用户实现一键操作,例如:右 CMD 键隐藏当前 Cocoa 窗口。

修饰键的概念:通常情况下,它们需要配合一个或多个数字、字母或符号键进行组合,才能使用,并不能独立执行,例如:CMD+M 可以最小化窗口。但某些非 Sandbox 应用就可以做到所谓「独立修饰」的效果,Keyboard Maestro 就是其中的一个代表。


虽然我已经有点「根本停不下来」的感觉,但本文暂且就先写到这里。客观地说,这篇文章给出的所有 Macro 似乎都太简单了,不过这倒也符合「入门」的要求,至少能让「零基础」的读者更好认识并上手这款工具。最后再回顾一下本文的要点:

  • Keyboard Maestro 是个强大的 Automator 类工具。
  • 其中最简单的元素是:Macro 宏 > Action 独立的行为/步骤。
  • 每个 Macro 中的所有 Action 都是按照排列顺序运行的。
  • 每个 Macro 都必须有 Trigger 触发器。
  • 一个 Hot key 快捷键可以同时进行多个 Macro 的运行。
  • 合理利用「编辑」等功能进行排故,避免 Macro 无法运行。

另外,预告一下下篇文章将会继续介绍的内容:

  • 通过 Time Trigger 实现 Reminder 效果。
  • 使用 USB Device Trigger 执行特殊命令。
  • 模拟鼠标移动、点击、滚动等方法实现类似 Shortcat 的效果。
  • 触发 Notifications 通知类提示,并进行互动。
  • Variables 变量的定义和使用。