article_image

PDF Expert 的设计师恐怕从来没有用过它的高亮功能。哪怕用过一次高亮功能,他就不可能把颜色切换选项藏进二级菜单或右键菜单,似乎是在竭尽全力避免用户使用这一功能。

Alt text
PDF Expert 将高亮颜色切换选项藏得很深

如果你看着头晕,那就对了,这就是一个普通 PDF Expert 用户在切换批注工具——尤其是高亮颜色——时的感受。

在所有 PDF 阅读器中,几乎看不到比 PDF Expert 更糟糕的颜色切换设计1。想象一下你在纸质书上做笔记,每次需要换笔时都得打开抽屉、拿出新笔、放好旧笔、合上抽屉,如果读一篇文章要用到多种颜色的高亮,那就必须开开合合抽屉几百次——现实中你不可能看到这种人,即便有,他们也已经被图书馆管理员轰出去了。任何一个脑筋正常的人都会把笔放在手边,或者插在附近的笔筒里,而不可能和抽屉杠上一整天。

但是 PDF Expert 迫使你不得不和抽屉(工具栏)杠一整天。

当然,PDF Expert 的总体设计并不差,它也在事实上成了很多人的主力阅读器,为了一个交互细节就与之割席,多少有点因噎废食的味道。本文将基于 Keyboard Maestro 为 PDF Expert 打造一套快速切换高亮颜色的动作,使用快捷键即可指定高亮颜色,降低切换工具之苦,帮助诸君把注意力放回阅读本身。图中右键菜单由 Keyboard Maestro 自动点击,读者所需的操作仅仅是选中文字和触发动作。

Alt text
通过 Keyboard Maestro 切换不同的高亮颜色

PDF Expert 版动作下载

同样的思路也适用于 Preview、DEVONthink、Skim 等需要多色高亮的阅读器,PDF Expert 在其中是最难实现的,只要了解其配套 Keyboard Maestro 动作的设计思路,为其他阅读器打造悬浮工具栏便轻车熟路。

实现不同颜色的高亮

PDF Expert 并未给每种高亮颜色配备快捷键,也没有菜单栏选项,只能在右键菜单或工具栏二级菜单中操作。这事儿交到其他自动化工具手里八成就歇了,但是 Keyboard Maestro 则不同,它的主要思路不是写代码或像 Shortcuts 那样使用现成 API,而是模拟键鼠操作:但凡一件事可以手动完成,它就可以被 Keyboard Maestro 自动化。

观察一下在 PDF Expert 中切换高亮颜色的操作,基本上有三种:

  1. 先随意高亮一段文字,再选中它,去工具栏二级菜单中切换颜色。
  2. 同样是随意高亮一段文字,随后点击右键,在右键菜单中更换颜色。
  3. 选中一段文字后直接点击右键,在右键菜单中选择颜色并立即高亮之前选中的文字。
Alt text
PDF Expert 切换高亮颜色的三种方法

第一种方式会挡住半边的 PDF 浏览界面,在笔记本电脑上太浪费空间,遂弃之;第二种方式让过程暴露无疑,即便用 Keyboard Maestro 模拟成功,也会看到一段文字先被标黄2、再迅速换成其他颜色,有点“露骨”。相较之下,直接在右键菜单中高亮的方式更加流畅,步骤少、容易模拟,自动化后看上去更加自然。

重新审视一下第三种切换高亮颜色的方法,可以将其拆成两个步骤——“点击右键”和“点击颜色”;此外,也要考虑到不同电脑展开菜单速度有异、光标位置最好能够复原等等细节,梳理下来,Keyboard Maestro 中至少需要 5 个步骤。

Alt text
Keyboard Maestro 完整步骤一览

最开始,需要记录当前光标的位置,这是为了在完成所有操作后将光标复原。光标位置变动可以不是“跳了一下”那么单纯,它还会让人失去阅读的焦点。《会读才会写》中就提到过一种用直尺为文本“划定感知边界”的阅读技巧3,类似指读法,限制自己只能一句一句甚至一字一字地阅读,避免一目十行、自以为读懂;要是正读得起劲,忽然挑走的光标就会让人不知所措。Keyboard Maestro 有专用变量“%CurrentMouse%”可用于记录光标位置,将其保存到任意变量中即可。

第二步,就是模拟右键点击操作。Keyboard Maestro 几乎能够模拟所有键盘和鼠标的操作4,右键点击也不在话下。使用“Move or Click Mouse”步骤可以模拟各类鼠标点击操作,这里只需要在当前位置模拟一次最简单的右键点击,不需要设置其他参数。需要注意,右键菜单会根据当前光标所处位置而变动,只有光标处于被选中的文字上时,才会呈现可选的高亮颜色,故使用时应保持光标在文字上。

Alt text
通过“Move or Click Mouse”模拟点击右键

第三步有点“蠢”,需要暂停动作零点几秒,具体时间视电脑性能而有所变化。这是为了等待右键菜单完全展开,如果选中的文字较多或者在 Automator 里塞了太多自动化动作(Workflow 类型,这类动作会出现在右键菜单中),右键菜单可能会花上零点几秒才能彻底显示出来。这类“蠢操作”恰恰是 Keyboard Maestro 的魅力所在——“If it's stupid but works, it isn't stupid.”——我们不用对每一套工作流程都刨根问底、搞清其底层原理,只需捋清楚自己是怎么做的,就能用 Keyboard Maestro 模拟出来。

第四步是整个动作的核心,即通过“Move or Click Mouse”步骤点击所需颜色。通常来说,右键菜单中的选项可以通过上下方向键来选择,但是 PDF Expert 有些“过分”,整个右键菜单中唯独高亮颜色部分不能用方向键选中。“Move or Click Mouse”是模拟点击的兜底手段,只要预设一张截图,Keyboard Maestro 就能找到屏幕上与之相同或相似的部分并点击之;在本文的情景中,这意味着只需要把 PDF Expert 的右键菜单截屏下来,就能让 Keyboard Maestro 代位到它并点击其中任何位置。

Alt text
通过“Move or Click Mouse”选择高亮颜色

由于每台电脑分辨率和各人的常用颜色均有差异,上图中有两处参数需要读者们自行设置。一处是“image”部分,即右键菜单中高亮颜色部分的截图,建议使用区域截图(快捷键是 ⇧Shift-⌘Command-4)时按一下空格键、只截取右键菜单部分,并裁剪截图、缩小范围到高亮颜色所在的那一行,避免背景模糊效果影响识别率。

Alt text
建议截取这一部分的图片

另一处是点击的位置即“at”部分,我选择以截图右上角为座标轴进而设置光标位置,恰好各项高亮颜色呈横向分布,所以调整横座标就能选中不同的颜色,根据各人电脑的实际情况微调这项参数,就能制作出不同高亮颜色的专属自动化动作。本文提供的动作专为 MacBook 自带屏幕而设计,笔记本电脑用户估计不需要调整“at”参数,但如果外接屏幕可能就要重新设置,一般加减 5 到 20 个单位也能调好,具体情况视分辨率而定。

做完这一切后,就完成了高亮颜色切换一键切换,最后只需要恢复光标位置,就完成了整个流程。

用 Palette 简化高亮颜色切换操作

我为常用的 5 种颜色(包括一种自定义颜色)都设置了专用自动化动作,并通过快捷键使用它们。不过,使用的颜色越多,要记住的快捷键也越多、越复杂,很吃力。极少数 PDF 阅读器拥有类似“自定义工具栏”的功能,例如 Liquid Text 和 Highlights,当然,这些都是价格不菲的付费功能。

Alt text
Highlights 的自定义功能需要订阅

Keyboard Maestro 自带一种独特的交互方式“Palette”5,与前述阅读器的自定义工具栏异曲同工,能够汇集一系列功能与一处,外观类似悬浮工具栏,正好可以用于简化快捷键。我本人就没有功夫为每个高亮动作设置专用快捷键,遂以同一个键位贯之,每次按下快捷键,便能够显示出一个带有所有高亮动作的 Palette(此时为“Conflict Palette”即“冲突调色板”),随后按下首字母——比如按下 B 就是选择“Blue”蓝色——就能选中相应的高亮颜色。

Alt text
统一快捷键后也可以使用 Palette

接下来的内容并不适用于 PDF Expert,但是惠及其他几乎所有 PDF 阅读器,不得不提。不难发现,在外观和使交互方式上,Palette 已经非常 PDF 阅读器的自带工具栏,完全可以修整其外观并使其常驻于手边,打造一个“常驻工具栏”,从而辅助甚至替换掉 PDF 阅读器的自带工具栏。高亮操作本身就很依赖鼠标或触控板,直接用光标点选颜色更加自然,在 Preview、DEVONthink 和 Skim 中都可以用 Palette 定制一个“常驻工具栏”,方便通过点选直接切换高亮颜色。

Alt text
在 Preview 打造一个“常驻工具栏”

坏消息是,PDF Expert 切换高亮颜色的方式实在乖僻,必须保持光标位于所选文字之上,因而无法打造一个“常驻工具栏”。考虑到本部分内容并非本文主干,这里仅仅展示其他 PDF 阅读器中的“常驻工具栏”效果,以后介绍到相应工作流程时再细说具体实现方法。

小结

相比其他 PDF 阅读器,PDF Expert 实际上是一个“异类”,它几乎没有采用原生界面,也不支持 AppleScript 脚本,基本上没什么自动化的余地。但是 Keyboard Maestro 硬生生从 PDF Expert 中挖出了一片用户自动化的空间,只要是手动操作能完成的,它几乎都有办法将至简化。

囿于 PDF Expert 的操作方式,本文只能实现快捷键方案,但是 PDF 阅读器不止 PDF Expert 一款,“快速切换批注工具”“快速更换高亮颜色”这些需求也不限于 PDF Expert,用 Keyboard Maestro 操控 PDF Expert 的思路也可以“向下兼容”其他阅读器。

总之,希望诸位不要被 PDF Expert 的自带操作方式限制住,尽管最终在“常驻工具栏”这一步碰了壁、不能享受鼠标操作,但至少走通了快捷键这条路;更重要的是,我们摸出了一条“模拟键鼠”的自动化思路。


  1. 包括原生 Preview 在内的多数阅读器,就算没有快捷键,也至少把各色高亮功能平铺在工具栏,而 Note Shelf 甚至允许用户自定义工具栏。
  2. 或者其他默认高亮颜色,一般是黄色。
  3. 菲利普·钟和顺:《会读才会写》,重庆大学出版社2015年版,第73、74页.
  4. 除了多指手势操作,通常需要用到 BetterTouchTool
  5. 意为“调色板”,详细介绍可以参考 《Keyboard Maestro Palette:macOS 上的全能工具箱》

author_avatar

Lawyer, macOS/iOS Automation Amateur