article_image

撤销(Undo)是再常见不过的操作,年轻一代的赛博原住民,甚至会在打碎东西时四处寻找 ⌘Command-Z 键,可见撤销操作已经融入了本能。

典型的撤销功能设计,并非毫无问题。以 Finder 为例,当我移动文件、重命名文档或删除一大批无用的缓存文件后,如果不小心按到 ⌘Command-Z,刚才的操作就打了水漂。

当然,撤掉本身也可以被撤掉,但真实工作远比你想的肮脏:你可能通过复杂的搜索语法揪出了一批客户档案,将它们全部移到归档文件夹,然后转头写了半个小时文书,接着回到 Finder 时,不慎按了 ⌘Command-Z——它和 ⌘Command-A⌘Command-S⌘Command-X 离得太近了!——你只听到“当”的一声,至于究竟发生了什么,全然不知。如果我在单位开着静音,我干脆不会意识到自己误触了 ⌘Command-Z

反倒是记不住快捷键的小白,慢吞吞在菜单栏中找撤销按钮时,倒是能够看到即将被撤销的内容是什么。但,有几个人愿意每次摸菜单栏?

Alt text
菜单栏显示了撤销(Undo)的具体内容

Keyboard Maestro 动作下载

我尝试将撤销提示融入快捷键交互,在本能地按下 ⌘Command-Z 时,也能显示具体内容,并询问是否继续。

Alt text
弹出提示,要求确认是否撤销

《用 Keyboard Maestro 避免各种手滑,比如误关软件》道理类似,此番我也借 Keyboard Maestro 劫持了 Finder 自带的撤销快捷键,替换为弹出提示,经确认后再执行正常的撤销操作。

Alt text
动作核心步骤一览

(您下载的最新版本,已经过几次迭代,起码不会影响正常打字,也不干扰 LaunchBar 正常运行,相关步骤较为复杂,把未展示。)

只是比较可惜,如果一次性处理了多个文件,Finder 似乎不会逐一显示各个文件的名称,提示内容过于笼统,但也好过全无提示。

Alt text
可惜,在处理多个文件后,似乎没有办法显示各项文件的具体名称

本方案虽针对 Finder,实际上也可以稍作修改而用于其他软件,只是 Finder 中的误触后果较为严重,故设置提示。

如果觉得提示框频频跳出过于麻烦,也可以更换思路,换作事后报告,即不再询问,照常撤销,随后展示撤销的具体内容。这一机制更为和缓。有兴趣的读者,简单删改本文动作的代码即可完成。

Keyboard Maestro 进阶指引
Keyboard Maestro 进阶指引(增订版)

author_avatar

律师, macOS/iOS 自动化业余玩家。有效即合法,无效的优雅有罪。