article_image

系列序

从写杂文的第一天开始,我就意识领域中人很容易陷入功能主义,每当你介绍一种新工具或新方法,马上就有人跳出来说:为什么不使用某某工具呢?某某方法难道不香吗?这些声音的出现,很大程度上也要责怪作者本人,他们很可能没有交代清楚文章的背景,没能说明白自己身处怎样的生活和工作环境,出于怎样的需要才选择了当前的工具、方法与流程。

近年来最著名的一次工具浪潮或许是卡片笔记(双向链接)热,最初的推崇者是彻头彻尾的书呆子——褒义的——其中不乏硕士博士甚至教授,这并不奇怪,毕竟卡片笔记在德国学界已有两三百年历史,本来就是论文生产机;而真正把卡片笔记推向普罗大众的则是一批营销人员,他们把卡片笔记宣传成赛博金坷垃,只要坚持撒,垃圾也能结出佳作。结局只能是:真正获得好处的主要是工具生产商,就像历史上几次著名的淘金热潮一样,而一大批收获寥寥的人则“脱敏”“脱粉”“转黑”,就此走向工具虚无主义,宣称工具无所谓。

虚无主义未免太过。我们真正缺少的,是真实案例。我本人是执业律师,陆陆续续写的几百篇杂文大多也基于真实工作经历,深感扎根实际的文章写来不费功夫、读来货真价实,只可惜过往文章还是以介绍工具和方法为主,经历只是提供一个背景。想来律师这碗饭多多少少还是有一些魅力的,也较有代表性,至少能够代表一大批白领、文字工作者或港台地区所谓的“智识工作者”,一线经验或许也能迁移到其他行业。因此,我决定写一系列文章介绍自己在律师工作中的必备软件。

目前选定的工具,主要还是 Keyboard Maestro、DEVONthink、LaunchBar 和 Shortcuts(快捷指令)等知名工具,如果能够启发更多的工具使用和设计思路,那当然值得我额手称庆,但作者也有自信,即便只是把这一系列文章当作一窥律师工作的爽文,大概也不会太无聊。1

律师工作的漫画式勾勒

律师是典型的文字工作,在大众的印象里,律师似乎终日甩笔杆子或耍嘴皮子,但实际情况肯定要复杂许多。某种程度上,可以认为律师是小说家和侦探的结合体,是信息的厨师,既要主买办(调查取证),也要管烹饪(写文书),还要负责跑堂(出庭或赴会)。

稍等,大概任何用得上电脑的工作都是这样的流程吧?2律师的特殊性或许就是在加上三条:

第一是对效率近乎于变态的执着。毕竟,10分钟的时间差就可以让我们这帮倒霉蛋错过一场大型投标活动,而软件硬件以及方法上的投资,一般只是几十几百,几乎可以忽略不计,根本就是一本万利。

第二则是一定程度的机动性,在比较嘈杂甚至恶劣的环境下也可以稳定工作。如果一个人只能在加长款曲面显示屏中才能静下心来工作,那么他可能更适合去当一个(自封的)艺术家。

第三就是追求可靠性而不惜因噎废食,在最极端的情况下,一个律师可以彻底不使用云同步服务、转而随身携带好几块加密过的移动硬盘,也不愿意把身家性命寄托在 iCloud 这种纸板屋子上。

如此挑挑拣拣自恋而傲娇的形象,显然只是一种人为修饰过的原型(prototype),并不意味着你请到的律师也那么难对付(或至少不会表现出来)。总之,不管是笔者性格吹毛求疵才选择这份职业也好,还是因为这份职业很折磨人而让我变得神经敏感,最后留存下来的工具,多多少少能够算得上是精品吧。

低头看一看现在正默默运行的软件,再粗略统计下其使用频率,我想,Keyboard Maestro 很可能适合来打头阵。

Alt text
我的 Keyboard Maestro 使用情况

KM 适合什么

何大多数的自动化工具不一样,Keyboard Maestro 的容错性非常好,可以说是自动化工具中的咖喱,把各种风格迥异的食材放进去都可以炖得很好吃。

和 LaunchBar 相比,Keyboard Maestro 通常不需要编写代码,许多模块捡起来就能用;和 Shortcuts 相比,Keyboard Maestro 的开发历史相当悠久,大多数模块已经非常成熟,不会像 Shortcuts 那样出现令人难以理解甚至想砸电脑的 bug。3

总之,不需要特别多的编程技巧,也不用担心地雷 bug,不管是对 Office 软件布局心有不满、想提加速文字输入或者想在局促的屏幕空间中提升操控效率——很多工作是在列车车厢、机舱或咖啡馆卡座里完成的——Keyboard Maestro 都堪称截拳道:学习时间很短而效果极好。

优化快捷键:重塑 Word 菜单为例

应该没有人会打心底里喜欢 Office 系列软件,大多数人估计都是不得不用吧?律师固然是自由职业,也必须使用这些文字民工必备的吃饭家伙——毕竟客户发过来的东西,百分之九十九都得用 Office 三大件才能正常打开。

正如品位不高的仿制车,有的人把这种车开回家里后就往上面安装各种智能系统和音响设备,就像皮肤糟糕的更年期人士往脸上涂脂抹粉以期感觉良好;另一种方法只是着手改装汽车——请在法律允许范围内这么做哦——放在这篇文章的语境中,就是用 Keyboard Maestro 优化不合理的设计。

对于律师这样的文字工作者而言,不会用到非常复杂的 Word 功能,常用者无非调整字体样式、编辑页码或者创建目录等等。我一直都希望微软能够推出“律师模式”或其他的职业模式,把某个职业的常用功能集合在一个菜单里,而不是每次都要在迥异的不同菜单里辗转,仿佛为了做一道菜还要跑去三五家风格大相径庭的特产超市。

虽然不太可能期待微软提供高度个性化的菜单,但很容易用 Keyboard Maestro 自制一个。我做了一套非常简单的动作,把插入目录、添加页码和注释等常用功能放在一个 Palette 中,对我来说,这个极度简化的工具栏才是和 Word 打交道的主要界面。

Alt text
将 Word 中的常用功能提取出来

大部分动作的原理很直观,无非就是用 Keyboard Maestro 模拟点击 Word 自带菜单栏中的项目。如果有人觉得 Keyboard Maestro 功能太多,不知如何下手,不妨从尝试简化菜单交互开始。

延伸阅读:

高度定制化的窗口管理

窗口管理的目的是为了让人忘记窗口的存在。

Norman 曾经说过一席妙语,他自己身为当代最著名的设计师,却宣称软件界面终归只是一个界面,总是挡在用户和任务之间。用字体设计师们的话说,Norman 的意思其实是:理想的界面,应该像玻璃杯一样透明,用户只看到里面的任务而忘记界面本身的存在。

作为一种界面,窗口也是如此。像空气或者玻璃一样,透明而没有存在感,或许就是窗口管理工具最理想的境界。其实这非常容易做到,除非就是把常用窗口放到常用位置、调到常用大小,就像你把自来水笔随手投到书桌一角的笔筒中一样,每次拿取都已经有肌肉记忆。

基础的分屏操作毫无难度,我可以预先设置常用的几种窗口布局,例如,如果需要一边阅读原始材料、一边摘录关键事实,就可以用 Keyboard Maestro 快速打开左右对半的窗口布局。除了手动操作,Keyboard Maestro 也可以做到相当程度的窗口管理自动化。比如说每次在笔记本电脑上打开一份参考书籍,Keyboard Maestro 就会让它占据屏幕三分之二宽度并置于视野中央,方便阅读;而如果我回到家里接上外接显示器,Keyboard Maestro 则会转到左右双页视图,就好像摊开一本实体书一样,更充分的利用屏幕空间。

Alt text
接上外接显示器,PDF 窗口自动换成对开本布局

相比于大多数窗口管理功能,Keyboard Maestro 的优点倒不是说能够预设多少种窗口布局样式,毕竟这只是位置和大小的各种组合,就连原生的 AppleScript 都可以满足一切需要——关键在于 Keyboard Maestro 的触发方式非常多样,既可以全键盘操作,也可以绑定鼠标手势,不管我是在宽敞的写字桌上工作,还是在拥挤颠簸且时不时还会飘一些雨点进来的巴士座位上奋笔疾书,总能够找到一套舒服的交互方式。

延伸阅读:

剪贴板增强

前面的几个例子,主要都是何软件交货,现在再来展示一下 Keyboard Maestro 如何提升文字输入效率。

第一个例子更为通用,我本人每天也都会用到,即去除剪贴板中的空格和空行。这听上去好像是某种只存在于偏远地区的地方性疾病,其实每个人都会遇到:只要你从 PDF 文件中复制中文,就一定会遇到多出来的空格或者空行,即便是纯文字版本 PDF 也无法避免多余的换行符号。写过论文或者正在和论文奋战的读者,一定明白我在说什么。

针对此项疑难杂症,我写了一个 Macro,复制文本后,可以一次性去除剪贴板中的所有空格和换行符号,把原本七零八落的文本还原回完整的一段话。

Alt text
通过缩写词清除多余空格和空行

此动作我有两个版本,其中一个利用了 Keyboard Maestro 自带的文本替换模块,非常直观,另一个则使用了 Javascript,不是说想炫技,是我更早的时候用过 TextExpander,它只支持用脚本来做一些自动化,后来迁移到 Keyboard Maestro,刚好后者也支持 Javascript,我就复制 TextExpander 中的脚本过来用。这对于已经积累了一批自动化动作的人来说是好消息:如果你想尝试 Keyboard Maestro,而你原先的动作又是用脚本语言写成的,那么基本上都有希望移植过来。

另一个例子使用率相对低一些,但更能够体现 Keyboard Maestro 的巧妙之处。我在工作中经常需要输入一些数字的中文大写版本,比如在列出金额时,除了写一个阿拉伯数字版本,通常还会在括号里用中文大写再写一遍,这样看的人就可以直接读出括号里的内容而不需要“个十百千万”地数有几位数字。但说实话,我自己在转换时尚有些不利索,甚至可能多一个或少一个小数点——这很要命!——为了避免职业生涯终结在这样的阴沟里,我做了一个 Macro,在输入一串阿拉伯数字之后,只需要再按两下特定按键(我预设的是冒号),就可以把数字转换为中文大写。除了输入金额或者数量,在援引法律条文时,我也会悄悄用这个动作节省力气,并保证精确。

Alt text
输入阿拉伯数字,得到中文大写

第二个例子的巧妙之处在于,其利用了 Keyboard Maestro 对按键输入的检测功能,并不需要设置复杂的快捷键,因此对连续输入的干扰也微乎其微。当然,这个动作的设计中还用到了很多 Keyboard Maestro 专属的组件,我在会员栏目中有详细分析。

简化网页点击:下载裁判文书为例

网页自动化这个方向很容易走偏,搞得好像必须掌握相当程度的网络协议知识,才能够简化工作。Keyboard Maestro 当然不排斥 API,甚至可以自己编写爬虫,但是这里所指的网页自动化单纯是简化在网页上的手动操作。

在研究案情、拟定诉讼策略时,我经常需要准备一些相似案件,供法官参考,虽然有很多专业数据库,但是很多法官相对保守,还是希望提供裁判文书官方网站上打印的版本,而这类官方机构毕竟要接待那么多浏览者,肯定不像你花了大价钱买来的服务那样方便——例如,打印时会掺杂目录、侧边栏、标志等无关内容,甚至可能在上方或者两边有大面积空白,这样不严肃的文件显然不适合提交给法官。4

我在之前的文章中介绍过清理网页无关元素的方法,可以手动去除几乎任何元素,而在打印裁判文书这个情景中,需要去除的元素总是固定的那几项,因此我把它们都写在了 Keyboard Maestro Macro 中,只需运行一次,就可以得到清爽整洁的文书排版,然后按下 ⌘Command-P 便可打印。

Alt text
修剪裁判文书网页上的无关元素

小结

正如文章开头所言,展示这一系列工作中的案例,主要还是想吸引读者的兴趣,故以效果和闲话为主,文章本身不再解释背后的原理和机制。即便只是单纯觉得律师工作还有点意思,或者 Keyboard Maestro 还挺有趣,那么文章的目的也就达到了。


  1. 尽管貌似风光的背后,实际情况往往是跋山涉水——字面和隐喻两方面的——或一地鸡毛,其中艰难一点也不亚于任何职业。
  2. 关于信息处理流程,请允许我给自己的作品打个广告:《信息管理,文件为本位的方案》
  3. 比如说,Shortcuts 竟然将运行过程中的所有数据都存储在特定文件夹中,因此会出现自己读取自己的数据还要授权的乌龙。当然,问题集中在 macOS 上,iOS 版则成熟许多,本系列文章中关于 Shortcuts 的部分,也聚焦移动端。
  4. 裁判文书网也提供直接下载,当每次都要重新审核,假如要下载10份文书就要审十次,并且大概率是通不过的。

author_avatar

Lawyer, macOS/iOS Automation Amateur