撤销(Undo)是再常见不过的操作,年轻一代的赛博原住民,甚至会在打碎东西时四处寻找 ⌘Command-Z 键,可见撤销操作已经融入了本能。
典型的撤销功能设计,并非毫无问题。以 Finder 为例,当我移动文件、重命名文档或删除一大批无用的缓存文件后,如果不小心按到 ⌘Command-Z,刚才的操作就打了水漂。
当然,撤掉本身也可以被撤掉,但真实工作远比你想的肮脏:你可能通过复杂的搜索语法揪出了一批客户档案,将它们全部移到归档文件夹,然后转头写了半个小时文书,接着回到 Finder 时,不慎按了 ⌘Command-Z——它和 ⌘Command-A、⌘Command-S 和 ⌘Command-X 离得太近了!——你只听到“当”的一声,至于究竟发生了什么,全然不知。如果我在单位开着静音,我干脆不会意识到自己误触了 ⌘Command-Z。
反倒是记不住快捷键的小白,慢吞吞在菜单栏中找撤销按钮时,倒是能够看到即将被撤销的内容是什么。但,有几个人愿意每次摸菜单栏?
我尝试将撤销提示融入快捷键交互,在本能地按下 ⌘Command-Z 时,也能显示具体内容,并询问是否继续。
与《用 Keyboard Maestro 避免各种手滑,比如误关软件》道理类似,此番我也借 Keyboard Maestro 劫持了 Finder 自带的撤销快捷键,替换为弹出提示,经确认后再执行正常的撤销操作。
(您下载的最新版本,已经过几次迭代,起码不会影响正常打字,也不干扰 LaunchBar 正常运行,相关步骤较为复杂,把未展示。)
只是比较可惜,如果一次性处理了多个文件,Finder 似乎不会逐一显示各个文件的名称,提示内容过于笼统,但也好过全无提示。
本方案虽针对 Finder,实际上也可以稍作修改而用于其他软件,只是 Finder 中的误触后果较为严重,故设置提示。
如果觉得提示框频频跳出过于麻烦,也可以更换思路,换作事后报告,即不再询问,照常撤销,随后展示撤销的具体内容。这一机制更为和缓。有兴趣的读者,简单删改本文动作的代码即可完成。


