macOS 自动化工具对比指南,找到最适合你的应用方式

10 min


群雄林立的 macOS 自动化生态

macOS 上的第三方自动化,要想入我们这些 高级用户 的眼,都逃不开脚本支持(scriptable)。而名符其实的高级工具,又颇具默契地具备了两个特点:

  1. 脚本通用:多数自定义脚本稍作修改就能移植到其他工具上。
  2. 操作各异:每个工具有自己擅长的操作方式,比如 Keyboard Maestro 的快捷键、LaunchBar 的全局快速启动或 BetterTouchTool 的触控板。

这就允许我们:选择喜欢的操作方式,实现需要的功能。同样是想清理电脑里的 DS 缓存文件,喜欢快捷键的读者可以用 Keyboard Maestro,喜欢全局跳转的用户会呼出 LaunchBar——而不常清理缓存的人,可能就把这个功能塞进了使用率相对较低的右键菜单。

总之,玩到脚本这个等级,常见的功能我们都能造出来(或者找现成的轮子)。再来挑工具,主要就看各自独特的功能和操作方式

macOS 主流自动化工具能力表

通用型自动化工具:Keyboard Maestr

从编辑界面到操作方式,Keyboard Maestro 都像是 Automator 的增强版,我们先来看看 Keyboard Maestro 的应用场景。

Keyboard Maestro 里面有大量自带功能,可以像 Automator 一样拖拽组合成工作流,当然也支持通过脚本来扩展。由于操作方式丰富、编辑动作的流程也和 Automator 相似,Keyboard Maestro 很适合作为进阶到第三方自动化工具的第一站

操作方式上,Keyboard Maestro 比 Automator 更丰富,几乎可以用任何你喜欢的方式启动:

  • 快捷键
  • 菜单栏
  • 悬浮窗
  • 光标手势
  • 输入文本
  • ……

我把 Keyboard Maestro 成为「通用型自动化工具」,就是看着它齐全的操作。我曾用 Keyboard Maestro「模拟」TextExpander,实现键入关键词即展开大段文本的功能。

通用归通用,Keyboard Maestro 也有一系列特色的、难以被取代的 Trigger(触发条件),可以在后台默默检测电脑、应用和用户的操作,不需要你去按下「扳机」,就可以自动触发预设的动作。这些 Trigger 包括:

  • 开盖合盖
  • 应用启动/关闭
  • 窗口激活/静默
  • ……

我为 IINA 播放器做过一个动作,可以在离开 IINA 播放界面自动开启画中画、回到播放界面后自动退出画中画。

macOS 自动化工具对比指南,找到最适合你的应用方式
用 Keyboard Maestro 自动开关 IINA 的画中画

这个动作利用的就是 Trigger(窗口触发条件),Keyboard Maestro 会捕捉光标的位置,通过它所在的窗口来激活对应的动作。

另一方面,也正是因为 Keyboard Maestro 的全能,不少人把 Keyboard Maestro 作为唯一的自动化工具,并且研究出代替 TextExpander、Alfred 的方案。

但是全能不代表最合适,比如 Keyboard Maestro 的输入框就很逼仄,不如 LaunchBar、Alfred 那么大方。

Keyboard Maestro 和 LaunchBar 输入框的对比

毕竟术业有专攻,遇到 Keyboard Maestro 不能胜任的场合,还是需要果断转换工具。

全局启动器:LaunchBar 和 Alfred

macOS 上另一类自动化工具:启动器启动器简单来说就是一个大气的输入框,你可以输入或键入一堆文本,然后启动对应的任何东西:

  • 启动一个应用
  • 启动一个文件
  • 启动应用内部的一个功能
  • 启动一个自定义的功能,比如一段 AppleScript 脚本

看过相关资料的话,是不是觉得这种「启动」的操作和在终端里输命令特别像?没错,启动器的鼻祖 LaunchBar 最早就是个简陋的终端窗口,后面才慢慢演化成今天大家闺秀般的模样。你至今还可以在 LaunchBar 的主题中找到元祖级的输入框。

输命令这种操作方式,把我们从成堆的快捷键里解放出来。快捷键虽快,但一来键盘上拢共就这么几颗按键,到后来总不够分配;二来快捷键多了,你自己都记不住对应的功能是什么。

而命令千变万化同时可以完全自定义,加上 LaunchBar 的模糊特性,基本上打几个关键字母,一条完整的命令就被选中了

如果说快捷键是快准狠的「剑宗」,启动器就是只可意会的「气宗」,两个流派招式不同但殊途同归,皆为效率而生。

macOS 上的启动器不少。和 LaunchBar 各占启动器半壁江山的是 Alfred,后者原生支持 PHP(被广泛用于开发),所以在在线搜索方面具有更大的优势,**更容易实时呈现搜索结果。**

另外,Alfred 采用了图形化的编辑界面(工作流的形式),并且基础功能(不涉及自定义动作),更适合新手拿来入门。

Image 2018-9-20 11-45

**总的来说,第三方启动器最厉害的就是自定义自动化动作。**

LaunchBar 支持脚本、Alfred 有工作流,它们和 Automator 的 Application/Services 一样能够处理输入的变量,其他系列文章中介绍过的脚本,统统可以嵌入 LaunchBar/Alfred

文件自动化整理工具:Hazel

在 Automator 问世的次年,一个专司文件自动化整理的工具也出世了,它就是 Hazel。

我们可以把 Hazel 当作文件夹动作的加强版,它继承了 Automator 简单易懂的图形化编辑界面,同时又具有更高的稳定性、更丰富的功能。

Hazel 的工作原理很容易理解:

  1. 监控指定的文件夹:比如监控 ~/Download 文件夹
  2. 监测预设的条件:比如发现了刚好的压缩包
  3. 触发预设的动作:比如将压缩包解压,并把文件放到桌面上供下一步操作

设置好文件夹、条件和动作,一条 Hazel 规则就成型了。编辑过程中你可以完全不写代码,只用预设模块就满足日常需求;但如果愿意折腾一下,就能实现更多进阶功能:

  • 自动将乱码的文件名转换为正常的中文
  • 连接上 Kindle 之后自动清理无用的 SDR 书籍缓存
  • 下载文件后自动校对 MD5 值,防止下载来路不明的文件

尽管功能强大,但 Hazel 很低调,平时安安静静地呆在后台(只在菜单栏占用了一个小图标的位置),只在监测到预设情形时才会出来工作。

触摸板增强工具:BetterTouchTool

和 Keyboard Maestro、LaunchBar 等专供键盘操作的工具不同,BetterTouchTool 另辟蹊径,在触摸板手势上做起了文章。一些经典的手势如:

  • 四指轻拍,关闭当前页面
  • 三指轻点,删除选中的文件
  • 双指重按,在新标签页打开网页
  • 轻点触控版顶端,回到网页最上面
  • ……

说到具体的功能,BetterTouchTool 可能没有 Keyboard Maestro 的预设动作那么全、也不比 LaunchBar 对于脚本支持那么到位,但是我们可以通过 BetterTouchTool 来触发别的自动化操作

  1. 直接触发 Workflow
  2. 通过快捷键、菜单栏选项或 AppleScript 触发 Keyboard Maestro

启动 Keyboard Maestro 的 AppleScript 代码如下,把 Macro 名字  换成你的 Marco 名字就能使用:

tell application "Keyboard Maestro Engine"
 do script "Macro 名字"
end tell

所以,我们完全可以把 BetterTouchTool 作为一个万能辅助工具,连接上 Keyboard Maestro 等功能更强大的自动化主力工具,把触控板变成自动化动作的控制中心

文本处理自动化工具

上面提到的自动化工具基本都是全能型选手,不过 macOS 上还有一类工具不能忽视,它们就是文字处理自动化工具。不要以为这类工具只有「文字工作者」用得上,作为一个现代人,只要你还需要打字,就会遇到各种机械繁复的工作:

  • 反复输入常用邮箱、电话号码
  • 不断在 PDF 参考文档和笔记应用来回复制粘贴
  • 手动修正标点错误、在中英文之间插入空格、去除多余的空行和空格
  • ……

这些问题,就是文本处理自动化工具要解决的。

缩写工具:TextExpander

系统设置中的「文本替换」,就是一种最简单的缩写功能:输入 mmail,即展开成完整的邮箱地址 [email protected]

而搭上自动化快车的缩写工具——以支持脚本拓展的 TextExpander 为首——还可以做到更多:

  • 快速输入当日日期
  • 快速将文本转大写/小写
  • 在中英文之间自动插入空格
  • 一键把弯角引号替换成直角引号
  • 链接换成 HTML 格式插入文章
  • ……

邮箱、电话、邮件模版、客套留言、常用的文本格式转换,都理应存为一个模版,要用的时候打几个首字母就快速调用出来。

TextExpander 有句口号,特别能代表这类工具的价值,听着还让人舒服:

不要把你的时间浪费在重复已经完美的表达上。

剪贴板管理工具:Copied、Pastebot

无论在 macOS 还是 上,剪贴板都是一条系统级的传输通道,图文都能通过剪贴板进行共享。自动化工具们自然也不会放过这条高速公路。

在记录剪贴板历史、分组管理的基础上,一批工具慢慢发展出自动化的用法。其中 Copied 最具代表性:

  • Rules:剪贴板历史记录自动分组
  • Text Formatters:剪贴板文本格式转换
  • Merge Scripts:组合多条剪贴板历史记录
  • ……

Merge Scripts 卓尔不群。多数人每天都在用它批量处理文章标题、链接的格式。即使面对着剪贴板里上百条的文章信息,Merge Scripts 也能调好格式、拼接文本然后一次性粘贴到表格里。此功能堪称剪贴板自动化的巅峰。

Copied 的开发者非常低调,不说的话,你估计都不知道 TA 是人。雁过留声,Copied 留下的是工具本身的口碑,这是很多优秀工具的共同点。

剪贴板工具里,能和 Copied 同台竞技的只有 Pastebot。后者的资历更老,而且出自著名第三方 Twitter 客户端 Tweetbot 的开发团队之手,在功能上基本不输 Copied(可惜不能一次性处理多条剪贴板历史记录,也没有 iOS 客户端),并且不自带的功能也可以通过写脚本来实现。

另外,Keyboard Maestro、Alfred、LaunchBar 也有简单的剪贴板管理功能,并且支持自己编写扩展脚本。已经在用这些启动器的读者,可以先试试它们的剪贴板功能,如果确实有需求,再学习专门的管理工具也不迟。

文本格式清理工具:Text Soap

除了缩写和剪贴板管理,日常打字时还有一类特别令人头痛的场景:文本格式清理。在引用参考资料、复制现成文档时,我们总是遇到一些不合规乃至错误的格式,从而不得不做一系列文本格式清理的工作:

  • 把英文逗号改回中文逗号;
  • 去除重复的空格、多余的空行
  • 把普通段落变成 Markdown 的引用格式
  • ……

**平时越是不常处理文本的人,需要调整格式时就越吃亏。**

想象一个辛辛苦苦做了两个月实验的理工科学生,在 DDL 前却还要加班几个钟头甚至通宵,只为了给 Word 和 PPT 调整格式。这种事情本当交给文字格式清理工具来做,比如用 Text Soap 来完成枯燥的文本替换。

对了,用 TextExpander 能实现比 Text Soap 更强大的功能(因为前者的脚本更加丰富),但是 Text Soap 拥有图形编辑界面,普适性更强。

小结

除了文章中介绍的工具,macOS 上还有大量具备优秀自动化能力的工具,比如 Omni 系列、任务管理工具 TaskPaper 乃至原生的 iWork 办公套件,不过它们的专门性过高,这里先不深入。

总之,在脚本语言、图形化编程等一系列通用标准的推动下,macOS 上的自动化工具一片繁荣,不管你想找一个通用工具来提高使用快捷键的效率,还是想找一个应用在后台默默帮你整理文件,又或者希望借助文本处理增强工具摆脱繁复的输入,都能找到合适的选择。

让所有重复无聊的工作都见鬼去吧。


Like it? Share with your friends!

0
Anonymous

Choose A Format
Story
Formatted Text with Embeds and Visuals
List
The Classic Internet Listicles
Countdown
The Classic Internet Countdowns
Open List
Submit your own item and vote up for the best submission
Ranked List
Upvote or downvote to decide the best list item
Video
Youtube and Vimeo Embeds