TextExpander

TextExpander解读

前言

如果一款软件或App能真真切切的帮你解决学习工作中的难题,或者提高了你的任务效率,那绝对值得买,因为这些工具帮你免去牺牲更多的脑细胞和睾丸酮素,节省了你的体力和时间,道理很简单吧?好了,转入正题吧,今天要分享的是 Text Expander(后面简称TE)的深度使用经历,其实Mac玩儿法对这些经典的效率工具介绍次数并不符合站长自己的理想目标,今后一点要多多介绍这类软件,因为只有经典的才是陪伴你时间最长的东西。

TextExpander - 图1

Text Expander 设计出发点是将需要频繁重复输入的长文本(段落,固定句子,甚至是信件)绑定上对应的缩写字符,当缩写字符拼写完成后,其所代表的长文本会在瞬间生成,以此提高输入效率。 基于这个真实的使用需求,可以扩展出不同的玩儿法,后面我们再详细介绍。

如果你经常从事文字编辑工作,比如组织线上活动,网络售后(包括淘宝),或是从事代码编程工作,都会遇到重复输入相同文本段落的情况,可能你会把这些文本临时放在一个杂乱的剪切板文档里,随用随粘,嗯,效果和TE差不多,不就是多了一套Ctrl C+V么,老子承受的了!但如果重复调用前,必须要修改人名称呼,或者替换词语呢?我想这就玩不过TE了吧?不信你可以拿电脑和作者当面比速度,谁快就将Mac送与对方。。

TE不是纯粹的付费软件,她提供了试用版,功能和付费版没有任何差异,在你打算购入这款软件前建议先安装试用版,仔细的使用体会后再入手才是科学之道哦。

Text Expander 的功能点

TE整个程序运行过程都在后台完成,Snippet(文本片段)可以用Group分组管理,不像iOS版那样仅支持有限的App,Mac客户端在英文输入法状态下可以在任意文本编辑器内调用,但在TE后台用户仍可以选择TE生效的程序范围:

TextExpander - 图2

文本替换

TE只有一个核心功能,就是文本替换,无论是频繁输入的客套话还是邮件,表情,甚至是代码模块,都可以用TE搞定,这次我们不谈理论了,枯燥得很,直接用真实案例为大家讲解:

  • 邮件

TextExpander - 图3

我使用TE最频繁的地方就是发邮件了,经常会收到来自业务和网站读者的信件,为了提高回复效率,必须使用TE,你可以将整个邮件信息(开头,正文,落款,联系方式)加入Snippet,在调用的时候输入缩写词(Abbreviation即可)。

在这里要重点建议各位同学在设置abbr的时候要考虑到重复的情况,目前TE也已经对重复abbr的snippet进行黄色label提醒,但我们也要提前规划好,比如每一组功能不同的snippet,abbr都要不一样,这样才好区分,管理。

  • 时间定义

TE提供了丰富的时间信息格式,分Date、Time、Date/Time Math三组:

TextExpander - 图4

Date组提供了共10种格式的年月日输入方式,可以根据使用场景灵活调用:

TextExpander - 图5

Time组提供了共9种时刻模式

TextExpander - 图6

Snippet显示结果

TextExpander - 图7

Date / Time Math模式挺有意思,他可以对年月日等时间单位进行加减,以此输出跳跃计时的结果,比如我要记录一个14天之后的时刻,我可以这些书写内容:

先加入一个Add Day(s),默认输出为%@+1D,我们把D前面的1改为14;然后跟进一组普通的年/月/日格式:%@+14D%Y%B%A,输出的结果会变为:

2014八月星期六

TextExpander - 图8

  • Emoji表情

有些用户喜欢打字时粘入Emoji表情,TE也内置了这种Snippet组,当然你也可以用OS X内置的“Control+CMD+Space”来输入Emoji

TextExpander - 图9

  • 特殊字符

特殊字符用的机会很少,但这不能代表不采纳,想用时要有才行。

TextExpander - 图10

  • 指定路径

平时经常用到一些Finder路径的话可以把他们收集起来,使用TE会节省许多时间

TextExpander - 图11

  • HTML编辑

这组Snippet是专为前端人员设计的,可以自定义各式各样的标签代码,这些Snippet都可以在窗口左下角的PreDefined Group里看到。

TextExpander - 图12

  • 外国常用语引入

这一组挺有意思,你可以在邮件里插入不同国家语言的问候,感谢语,比如图中这组关于“谢谢”一词的各式翻译。

TextExpander - 图13

  • Markdown

使用这组Snippet可以快速插入各种Markdown固定搭配语法,比如插入图片的:

  1. ![](/path/to/img.jpg "Title")

或是插入H2标签:

  1. ## %| ##

这里要提一下#中间的“%|”,这个固定搭配的字符代表在文字输入完成之后,光标会自动回到指定位置,这种设计对于MD语法来说简直是完美的工作伙伴。后面我们还会详细说一下关于TE中光标移动的变量。

TextExpander - 图14

添加Snippet的方法

TextExpander - 图15

除了在窗口左上角点加号进入软件默认的Snippet编辑界面后,还能通过热键设定进入,如此之外你还能从以下入口添加Snippet

  • 从URL直接生成snippets group

这个功能并不是说,给一个网址,软件会自行从网页内容里随机抽取邮箱,超链,人名等信息,而是可以将远程存放在服务器的Snippet Group文件(后缀.textexpander)直接导入到Group数据库,并显示在Group列表里。

可能有朋友会问了,怎么把我自己创作的Snippet分享到网络呢?方法很简单,在TE系统内已经内置了Group导出功能,在Group列表上右键你就会发现这个选项:

TextExpander - 图16

选择“Save a Copy…”即可把Snippet Group以.textexpander为后缀保存到本地。

  • 添加TE预设好的snippets group

TE预置了9种具有代表性的Snippet组,前面我们也提到了其中一些,像Emoji,特殊字符等:

TextExpander - 图17

  • 从PopClip插件中添加

TE和Popclip的配合简直是天衣无缝,一款Popclip插件可以立即将文本拷入TE的Snippet快速设定窗口内。

TextExpander - 图18

变量扩展的魅力

Text Expander的变量扩展功能是将文本替换发扬广大的一项重要功能设计,也就是说在你应用Snippet和全文本输出之间会添加一个自定义文本变量的过程(具象的说就是一个编辑窗口),在这里,能对指定文本进行自行调整,比如赋值(single-line field),多行赋值(Multi-line field),下拉菜单(Popmenu),可选项等。

这四项变量定义功能合称:“Fill-ins”,笼统的说其他Date、Time、Date/Time Math,Key、Clipbaord,图片,光标位置调整都属于变量自定义范畴。

TextExpander - 图19

比如,你在常用业务邮件里经常会对开头的称谓进行修改,每次使用固定的Snippet可能由于疏忽会把修改的事项漏掉,别冷笑,这绝对是我们经常遇到的,而使用变量扩展则会100%避免这个问题,如下图:

TextExpander - 图20

选择一段文本或一个单词,插入Single-line field,应用的时候你会看到一个弹出窗口,比如Dear后的称呼,我们改为变量扩展后,会在输入框留空,方便用户每次输入不同的称呼:

TextExpander - 图21

同理,其他变量形式也一样运用,像下图里,我们插入一个下拉菜单,每一项值(option x)可以双击进行自定义编辑。

TextExpander - 图22

TextExpander - 图23

使用其他的变量扩展功能能让Snippet的威力更加强大,我们可以插入图片,改变光标位置,将最近剪切板的文本插入进来,或是插入已有的Snippet内容。

TextExpander - 图24

TextExpander - 图25

Snippet联想

有的时候你的Snippet数据库会有许多项目的内容性质重复,比如我有许多重要联系人的邮箱地址,那在我实际编辑邮件的任务中,如果不利用扩展变量的Popmenu的帮助我还有另一种选择:Suggestion,即Snippet联想功能。

想要使用这项功能必须满足两个条件,一个是要为这些具备同类性质的Snippets设定至少包含相同的连续2个字符的Abbr(缩写词),如下图,这样当你输入“em”这两个字符后,联想菜单才能出现;

TextExpander - 图26

那第二个条件就是为联想菜单设定一个调用热键,我们可以在设置-Hotkeys里定义:

TextExpander - 图27

支持Apple Script

TE的Snippet内容模式除了纯文本和富文本,还支持Apple Script和Shell Script,TE会自动执行粘入的脚本输出成文本段落,这样的设计可以把文本替换功能发挥到机智,毕竟这种方法的自由度是最大的,比如下面这段代码:

  1. set greetingsList to {"Sincerely", "Yours Truly", "Peace Out", "Have a good day", "kthxbai"}
  2. set listLength to count greetingsList
  3. set randomNumber to (random number from 1 to listLength)
  4. set selectedGreeting to item randomNumber of greetingsList
  5. return selectedGreeting

我可以在邮件里插入随机的不同风格的敬语,TE的预配置Group里有一个叫做:“Internet Productivity Snippets”,可以创建不同服务下的短地址,比如bit.ly、digg、is.gd等,当你copy目标url后,执行相应Snippet,就会生成专门的短地址。

TextExpander - 图28

TextExpander - 图29

TextExpander - 图30

数据统计,数据备份/还原等功能

TE还设计了一个数据统计模块,可显示你利用Snippets编辑文本时所节省的字符数,节省的时间(可具体到小时),还提供了图标显示。

TextExpander - 图31

TE支持通过Dropbox与其他安装 Text Expander Touch 的 iOS 设备同步 Snippets 数据,同时还设计了自动备份服务,备份频率有小时,每天,每周,每月四项可选。

TextExpander - 图32

总结

总的来说,Text Expander 的功能和整体OS X系统及其他应用程序的融合性非常强,在多种文本格式和变量扩展的帮助下能够实现复杂文本,特殊文本的快速输入,把她和Keyboard Maestro,Hazel,Omnifocus等大咖们配合使用将极大的提高工作效率,我们会在今后及时分享更具体更个性的使用案例。这款软件的功能也值得起她的售价了,所以说对于经常从事文字或编程工作的朋友们来说,TE是绝对值得入手的。希望今天的讲解能够帮助初次接触TE的朋友对这款软件有一个初步的认识,如果您在使用中遇到难题或者有什么心得,欢迎到微博货BBS.WAERFA.COM上与我们沟通交流。

参考资料

TakeControl

官方教程

Applescripting in Text Expander