@Lenciel

使用 Alfred 完成文本扩展

有很多文本片段是可复用的,它们被称为 snippets 。

收快递的地址,手机号,身份证号是一类:格式和内容都固定。

Markdown/Jekyll 里面各种宏是一类,格式不变,内容变化:

{% highlight javascript %}
/* Some pointless Javascript */
var rawr = [“r”, “a”, “w”, “r”];
{% endhighlight %}

再比如会议纪要这类文档,框架也是固定的,日期、参会人、内容等具体内容是变化的。

如果只是把它们放在某个地方,每次用的时候搞出来拷来拷去,显然效率很低。所以市面上有「文本扩展」类的工具专门解决这个问题。

过去我用 TextExpander,它的功能很强大,除开简单的格式,还支持了各种宏。

但是自从它改成按月订阅付费,并且每个月要好几十块钱,我就转到了 mac 自带的「shortcut」:

它的功能很简陋,特别是不支持宏(后面可以看到有它没它区别多大)。

这两天迁移到新机器,偶然发现我掏钱的另一个软件 Alfred(没它我真是不知道怎么活)有了一个 Snippets 功能。

试用了一下,发现基本够用了,如果能做一个导入 TextExpander 库的功能就好了。

拿写 markdown 的文档时经常要插入图片这件事情举个例子。我们可以在 Alfred 里面建一个类别,Prefix 为「.」,keyword 为「mki」,然后它的公式是:

![{clipboard:0}](/downloads/images/{date:yyyy/MM}/{clipboard:0} “Don’t touch me…”)

这里:

  • {clipboard:0}这个宏是取你剪切板堆栈里最靠前的内容,简单说就是你刚刚复制的内容。
  • {data:yyyy_MM}是取当前年月日并格式化为2020_03,因为我有一个 Hazel 脚本,写 Blog 用的图片扔进一个目录,就会被自动按照「年+月」的这个格式归档。

于是,每次要往 Blog 里面插入一个图片的时候,只需要复制文件名,然后在编辑器里面敲击 .mki 就可以了:

Alfred 支持了非常丰富的宏定义,满足工作中的大部分需要足够了。

欢迎留言