TextExpander 使用技巧第一弹

TextExpander 已更新至 6.0,我站文章介绍请直戳:

TextExpander:发布重大更新,月付模式成焦点

TextExpander 6 下载试用版及官方网站访问地址

之前小编曾呕心发表了一篇关于 TextExpander 的深度介绍《TextExpander:深度解读 – 到底值不值得买?》,从零回复的角度来讲确实挺打击我自信的,这么好的一个软件经过我的介绍后竟无人问津,想起来也是自惭形愧。上个月我们竟申请到了 TE 的授权经销,可谓是一件大喜事,但引入的四个 License 在两周内卖出才是最大的意外,我觉得对于我们中文用来说,TE 并不是传说中的花瓶,如果你每天都在使用她,并把她和其他应用结合在一起使用的话则会威力无穷,上次的专题文实例引入不太多,这次小编精心挑选了一些实用的 TE 应用案例,让大家了解一下,我敢说你在看完之后绝对有入手的冲动呢。

如何永久授权 TextExpander Helper 的控制权限

在我们介绍案例之前,我想为大家分享一下如何永久授权 TextExpander Helper 控制权限的技巧,上周就曾有朋友问过我,使用 TE 的时候总能接到以下提示:

每次打开 TE 都会弹出这样的提示框,让我们到「隐私-辅助功能」列表里对 TextExpander Helper 进行授权,这样 TE 才能发挥作用,可是列表里木有啊,对于这个问题,官方 Blog 就此问题给出了解释,原因是 Yosemite 目前存在针对 Helper 文件的识别障碍,这种情况同样出现在了 Keyboard Maestro, Witch 等程序上。解决办法如下:

  • 打开「系统偏好设置 – 安全性与隐私 – 隐私- 辅助功能」
  • 点击窗口左下角的「金锁」按钮,在权限验证窗口输入用户名密码授权
  • 打开 「Finder – 应用程序」,找到 TextExpander,右键 -「显示包内容」
  • 在「Content – Helpers」目录下会看到 TextExpander Helper 存放在这里,将其直接托拽到应用程序隐私控制列表里
  • 重启 Mac

为以上步骤配一张图:

还有一种方法就是利用 Cocktail 等工具对 Launch Services 数据库进行重建,但小编并不打算在这里继续详说了。

下面我们来看案例:

 让 TE 在中文状态下使用

这个问题算是老生常谈了,但对于刚刚接触 TE 的朋友来说还是非常非常重要的,新手上来肯定会抱怨 TE 在中文输入法下切换英文半角都不能让 Snippet 生效,因为 TE 在 3.3.4 就对此功能 Cut 掉了(这其中还包括大写字母自动纠正),原因是有些用户觉得这样会与他们自定义的组合键冲突,但也有一些用户不愿意频繁切换中英文输入法来调用 Snippet,所以官方推出了一个折中的方案,设计了一个名为「TEIMPrefSetter」的设定工具(下载),里面包含了官方默认排除掉的一些输入法,将他们删除就能在其输入法半角状态下应用 Snippet 了,反之,加上对应的缩写字符(比如中文就是 zh)会回到排除状态。

注意,操作 TEIMPrefSetter 的前后需要进行:关闭 – 打开 TextExpander 程序。

汇率转换

TE 不光能做文本展开,还能用作货币转换,这你肯定连想都没想过吧?通过 AppleScript 就能实现,来看步骤:

  • 在创建 Snippet 之前,我们需要找一个做汇率转换的枢纽,OpenExchangeRates.org 这个网站专门为开发者提供汇率转换接口,有[免费帐号]可以使用,每月最多1000次查询,够我们用了,注册后在后台直接将 API ID 保存下来即可,后面会用到。(如下图 Step 1)

  • 到 Mac App Store 下载 JSON Helper for AppleScript,在后台打开

  • 在窗口左上角点击「New Snippet」,新建一个 Snippet,右侧的待展开文本输入区域(一大片空白)的上方有一个不起眼的下拉菜单,默认是「Plain Text」,这里我们选择「Apple Script」

  • 然后在空白区域粘入步骤后附上的 Apple Script 代码,将代码中第一行“XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”替换成第一步保存的 API key,「Label」随便写,abbreviation 想一个,这里我们填的是:;tc

  • 在这段代码里有几个参数可以根据你的需要进行自定义,比如:baseCurrency 代表了待转换的货币单位,倒数第十行有一个叫 |EUR| 的参数,这就是你要转换的目标货币单位i,你可以换成人民币(CNY)或其他国家货币,这里的货币代码也是根据 OpenExchangeRates.org 提供的,具体可以参考这个[货币代码列表]。

  • 我们接着往下来,到这里就是最后关键一步了,这里运用了 Snippet 嵌套的原理,就是把第四步的「;tc」这个 Snippet 转换的货币单位结果输出到另一个 Snippet 里使用,我们新建一个纯文本 Snippet,粘入以下代码:(¥%snippet:;tc%),这里面包含了 「;tc」的输出结果,前面加了一个人民币符号,这第二个 Snippet 我们的 abbreviation 定义为 ;ec

最后我们来测试一下,将一个 $34.95 拷贝,然后输入 「;ec」 就会显示出 ¥215.06 的人民币结果。

set openExchnageRatesAppID to “XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX”

set baseCurrency to “USD”

set baseAmount to (the clipboard as string)

— Test the input

if (first character of baseAmount is not number) then

set baseAmount to (characters 2 thru ((length of baseAmount) – 1) of baseAmount) asstring

end if

try

set baseAmount to baseAmount as number

on error

set baseAmount to 0

end try

if baseAmount is 0 then

return “Problem with clipboard content. Use a number or a number preceded by a currency symbol.”

end if

— Get the exchange rate; change |EUR| to another currency for different exchange rates

tell application “JSON Helper”

set theURL to “http://openexchangerates.org/api/latest.json?app_id=” &openExchnageRatesAppID & “&base=” & baseCurrency

set jsonResult to fetch JSON from theURL

set exchangeRates to rates of jsonResult

set convertedAmount to (|EUR| of exchangeRates) * baseAmount

return roundToDecimal(convertedAmount, 2) of me

end tell

on roundToDecimal(numberToRound, precision)

set multiplier to 10 ^ precision

numberToRound * multiplier

round result

return result / multiplier

end roundToDecimal

如何利用 TE 获取地理位置

有的时候你可能会需要在邮件中插入自己的地理位置,这种工作配合 AppleScript 也能实现,先到 Mac App Store 下载这个软件 Location Helper for AppleScript,她没有独立界面,只在后台运行,当 AppleScript 脚本需要她提供用户所在地理位置,座标等数据时才在后台与脚本通信,传递数据。来看 Snippet 制作过程:

  1. 新建 AppleScript Snippet, 粘入以下脚本代码:
tell application "Location Helper"
    set listCoords to get location coordinates
    return (item 1 of listCoords as text) & ", " & (item 2 of listCoords) as text
end tell
  1. 设置 abbreviation,比如:;gl

  2. 测试一下,奇迹出现

输入带圆圈的字符

Ⓛⓔⓣⓣⓔⓡⓢ ⓘⓝ Ⓒⓘⓡⓛⓔⓢ

最近有同学在小鸟微博上将自己的username改成了以上带圆圈形式的,有些呆萌的感觉,一开始我也找不到方法,后来看 Smile 官方博客才知道这是用 TE 干的。

在 TE 上使用 「Add Group from URL…」导入一组某某人制作的现成 Snippet Group 即可,URL 输入 :http://smle.us/circles, 大家可以看到导入的 Snippets,每一个圆圈字符,都用 “ooo”的前缀来定义 abbreviation,比如:

⓪ : ooo0 ① : ooo1 ⓣ : ooot

奉上我站网址logo:ⓦⓐⓔⓡⓕⓐ.ⓒⓞⓜ

如何与他人共享你的 Snippet?

当你创作出旷世 Snippet 后可以共享给其他好友或同事,方便其他人编辑、利用,这里的 Snippet 以 Group 为单位分享,以 Dropbox 为分发平台,操作步骤如下:

  1. 在 Dropbox 创建一个名为「Shared Snippets」的共享目录
  2. 选中待共享的 Snippet 组,点击 TE 右下角的「齿轮」图标,在下拉菜单找到一个名为「Save a Copy of Group」的选项,点击后将这个 Snippet 组保存到 Dropbox 在Mac 上的同步目录里,保存地址选择「Shared Snippets」这个共享目录,这时共享目录里的文件名为:xxx.textexpander
  3. 将 Dropbox 上保存的 Snippet 组设为「共享」,并保存生成的共享地址
  4. 回到 TE,删除原有 Snippet 组,在左下角点击「+」,选择「Add Group from File…」,将本地 Dropbox 同步目录下的 xxx.textexpander 选中。

这样,每个成员在编辑 xxx.textexpander 后都能对远程的原共享文件进行编辑,同步。

利用 TE 快速插入 Mail 附件

当你发邮件时有遇到过忘记加附件的情况吗?别担心,可以利用 TE 短短的一个 abbreviation 就能帮你快速打开附件选择窗口,从此不会搞错任何一封邮件,步骤如下:

– 新建一个名为「Mail Only」的 Snippet Group,生效范围,也就是 Expand in 选择 「Only These Applications…」,在应用程序列表里只选择「Mail」,这样就确保我们这个 Snippet 只作用于 Mail 里。

– 打开OS X 自带的脚本编辑器(AppleScript),代码区粘入:

tell application "System Events"
    delay 0.4 -- wait a bit for snippet 'replacement' to appear
    keystroke "a" using {command down, shift down} -- key equivalent for Attach Files
end tell

– 保存为 .app 后缀,文件名随意起,比如:AttachFilesKeystroke.app,把这个脚本程序保存在「应用程序」目录。

– 在 TE 的 Mail Only Snippet Group 里,新建一个 Snippet,类型选「AppleScript」,内容插入:

do shell script "open -g /Applications/AttachFilesKeystroke.app/" 
return "attached"

– abbreviation 输入“attached”,Abbreviation type 选择 “Adapt to Case of Abbreviation” ,这样无论是 “Attached” 还是 “attached” 都能生效。

这样,当你在邮件正文输入 attached 时,TE 会自动运行 Snippet,弹出附件选择窗口,选择附件即可,退出窗口按 「ESC」键即可。

利用 TE 打造一篇万能简历

当初促使我购买 TE 的理由就是她能制作出一种万能模板,应用在求职信,常用公事往来邮件中,你不用再去逐篇修改对方称谓,非脑筋的去记各种学习经历,比如求职信,我可以用 TE 的 Snippet, 在短短的2分钟内制作出针对不同公司不同岗位的求职信,当然,这种方法只适用于撒大网找工作模式,对于目标明确的应聘公司,你还是多动脑筋,有针对性的写求职信或简历,下面我来简单介绍一下如何制作一封万能求职信的大体步骤:

Fill-ins / Single-Line Field 对于公司名称,对方领导称呼,我们可以在 ”亲爱的“后面插入一个 Fill-ins,「Field Name」,即填空提示,任意写,比如:公司名称/领导, 这样在填写时直接看提示填写即可,不必考虑上下文关系。在后面的「大学」,「所学专业」,「某实习单位」等需要有针对性修改的地方都可以利用 Fill-in 这个选项。

Fill-ins/Multi-line Field 以上 Fill-in 都是单行文本填空,其实还有多行,下拉菜单,可选内容等形式的 Fill-ins。多行填空方法和 Single-Line 一样,只是能让用户输入多行信息。

Fill-ins/Pop Menu 如果你学的专业并不是太冷门的,比如计算机,外语,电子商务,市场营销,那么你在找工作的过程中可选行业就比较广泛,许多公司对于一些岗位的要求不是太深,但也会需要你具备一些技能,为了赢得对方的关注,你可以量力而行,多准备一些靠谱的技能,做成 Pop Menu 的形式,在每一篇求职信里都能“对症下药”,填入对方要求或者可能感兴趣的技能,这样肯定会增加你的面试机会,比如下面这个:

Fill-ins/Optional section 有些求职信中,自我介绍部分,不能适用于所有用人单位,这时候你需要对这些段落进行增加或删减,无形中加大了自己的工作量,使用 Optional section /可选文本就能避免,插入 Optional section 后你只有在前面挑勾她才能出现,不勾选就会隐藏,非常方便。

整个Snippet展开后的模板样式请看这里:

格式化文本

如果你需要对求职信进行精致优化,可以对 Content 选用 Formatted Text 格式,即格式化文本,可以对文本定义粗体,颜色,字号等参数,甚至可以对文本段落进行设定(居左中右),插入列表,自定义行距等等。

插入图片

选择格式化文本还能插入图片,你可以将个人获奖记录资料的扫描版,个人照片等资料直接插入 Snippet Content,这样在发邮件时省去了再插入图片的步骤。

结语

好了,我想各位如果能看到这,最起码已粗略的浏览了一篇案例介绍,是否实用,还要看你的需求,后面我们还将找机会搜集更多 TextExpander 的使用技巧和应用案例,无论你是否已入手 TE,都可以去试试上述几个应用案例,你会发现 TE 真的能帮你提高工作学习的效率,如果想入手正式版,你可以到我们的官方淘宝店「电子薄荷」选购我们销售的[中国版 TextExpander],价格为 170元,折合美元为原价($34.95)的78折。

参考文章

评论 5 条

  • Zoe

    自动插入邮件附件那个,attached试了很多次都失败,输入就显示『Expansion for attached』,请问是textexpander更新以后无法使用了的问题么?

    2016-05-30 13:42 回复

  • sherylynn

    支持!购买了ios版本

    2014-12-22 01:25 回复

  • liqiang0335

    一旦使用,就无法离开了!

    2014-12-11 08:59 回复

  • riophae

    虽然觉得用不到 还是给小编点赞

    2014-12-10 18:02 回复

  • 章烧饼

    这个系列真的很好。希望作者能分享更多的技巧给我们。 TE我没有使用过,以前从事英文工作的时候用火很长时间的 Typinator,对我帮助很大。可惜对中文支持不好,来回切换输入法非常麻烦,换了几台机器以后就再也灭有用过了。

    2014-12-10 15:43 回复