




























不知道大家还记不记得前阵子的 Mac ‘Pick a Bundle’ 2017(我派文章:《这也许是 2017 年省钱最多的 Mac Bundle 软件套装》),我当时犹豫了很久,因为我不知道我是不是真的需要这些 App,不过后来还是剁了。因为之前没有用过,我很天真的以为 TextExpander 是买断制的,激活的时候才发现自己亏了。
对很多人来说 TextExpander(下称 TE)的必要的功能 Keyboard Maestro(下称 KM)基本可以代替。而且 KM 在中文输入法下也能正常工作,TE 则会有很多问题。本文尝试给出一个全面的替代方案帮助你省钱省心。还没有尝试过这种效率工具的朋友也可以照着教程弄一个试试,说不定就有用呢。参考链接中还有一些 KM 的其他使用场景,希望你能帮到你。如果你已经用了一阵子 TE,还有比较方便的迁移方案。
不过如果你比较在意在 iOS 上做这件事情,那恐怕还要继续用 TE,很显然在 iOS 上除了用功能单一的系统自带的文本替换,并没有什么好的办法来代替它。
这是一个邮箱地址的 snippet:

这是其在 KM 中的实现:

点击 New trigger 添加一个激活条件。

我这里选择的是 Typed string trigger,和 TE 的激活方法是一样的:用户在某一文本框中输入一些关键词。你也可以按自己的习惯把一部分常用的 snippet 改成用快捷键激活。
你还可以再添加一个 trigger 来指定这个脚本只在某些程序内执行。避免不必要的干扰。
点击 New Action 添加一个动作,在左边的列表里找到 Text 可以看到前两项是我们需要的东西。
这里又是一个 KM 的优势,在 TE 中建立的 snippet 是不能在密码框工作的,在网页中也需要调整 Safari 的安全选项才能输入密码。比如说我们移动文件到系统目录需要确认,这个时候就可以用 KM 做一个快速确认的脚本。
一般我都会用前者,大部分情况下都是适用的。因为有用一些剪贴板管理软件,所以也不在乎影响剪贴板。顺便给出我输入系统密码的脚本。(不过注意,密码是明文存储的,如果别人有可能碰到你电脑,我不建议你这么做。)

在 TE 中我们可以指定一个模版,比如说邮件回复的模版,在实际使用的时候可以直接在模版中填空来输入大段文字。下面是一个案例:

运行效果大概是这样的:

这是其在 KM 中的实现:

运行效果大概是这样的:

添加的第一个 Action 是 Variables/Prompt for User Input。
点击 Insert Token 就可以在文本中加入之前的变量。

只需要把光标定位在变量要放的位置然后加就行了,如果你熟悉语法也可以自己打字,这都没关系的。
我解释一下其他两个重要选项:
%Calculate%1+2% 你可以利用这个语法来对输入的变量进行一些计算。比如说你有两个变量「单价」和「数量」,就可以写一个 %Calculate%单价*数量%,会输出相乘的结果。这是一个 TE 没有的功能。再重点介绍一下和时间有关的公式:

%ICUDateTime%EEE, MMM d, yyyy h:mm%。你可以调整百分号之间的 EEE(星期)yyyy(年)MMM(月)d(日)h(小时)mm(分)ss(秒)的位置和周围的字符串来形成一个自己需要格式的一般时间戳。%ICUDateTimeFor%NOW()+30%EEE, MMM d, yyyy h:mm:ss%。修改数字 30 可以指定距今多少秒,可以配合一些变量实现输入之类的。格式调整同上。%ICUDateTimeMinus%3*7%Days%EEE, MMM d, yyyy h:mm%。可以修改数字和单位,都是时间单位英语的复数。格式调整同上。%ICUDateTimeMinus%3*7%Days%EEE, MMM d, yyyy h:mm%。参数修改方法同上。剩下的东西如果大家需要可以自己研究一下或者参见官方文档。
有时候我们会需要输入一些带有格式的文本,KM 并不能原生对这种东西提供支持,这是一个很尴尬的缺点。不过办法还是有的,比如说可以用 RTF 文件。
我们先用文本编辑新建一个文件。内容如图:

然后在 KM 里加入 File/Read a File 和 Clipboard/Paste,把文件定位到刚才建立的文件上。

效果如下:

你也可以把这个操作穿插到之前的「模版输入」章节中使用。
插入图片的做法如图,注意过程中会修改剪贴板。

分别是 Image/Read a File 和 Clipboard/Paste。
运行脚本的 Action 可以在 Execute 中找到。

用法也都很简单,和 Automator 类似。


Interface Control/Type a Keystroke。
你可以把一些 snippet 放在一个文件夹中,并制作一个弹出选择菜单的脚本来做备忘。内容和效果如图:


Keyboard Maestro/Show Macro Group 会让这个菜单一直显示,Keyboard Maestro/Show Macro Group for One Action 则会在执行后消失。
我在 Github 上找到了一个迁移脚本,可以帮助你把那些简单的 snippet 直接迁移到 KM。但是那个脚本中的配置文件位置已经是上一个版本的了,我更新了一下放在我自己的 GitHub,大家可以取用。(GitHub 链接)
先把这个脚本下载到本地,再在终端中运行:python TE.py 就可以在桌面生成 KM 的配置文件,双击导入即可。
对于比较「花哨」的 snippet,你可能就需要自己去折腾一下了。可以先做一个模版,然后多复制几遍改一改。这里是我上面模版输入的 snippet 文件。
本文的内容是一些我个人的使用经验。在可以被众多工具代替的情况下,TE 采用订阅制销售真的是一个正确的做法吗?订阅制销售的关键在于「软件即服务」,而 TE 这样的工具类 App 仅仅凭借其自身有一个同步平台我觉得并不是能够做到这一点。而现在的销售方式无疑会让一些原来的 TE 用户去寻找更便宜的替代品。你对这件事情怎么看呢?不管是对本文内容有补充还是评价我的观点,欢迎在评论区和我交流。顺带吐槽一下,KM 这个 UI 啊,虽然大多数时候看不着,但是拜托能不能做的好看点 🌚。
此内容由惯性聚合(RSS阅读器)自动聚合整理,仅供阅读参考。 原文来自 — 版权归原作者所有。