1、Omnifocus使用心得总结 Part 4【Applescript】 当当当当!终于轮到Applescript这一篇了,我知道有许多人对此抱有极大的兴趣。因为有了Applescript的支持,弥补了许多Omnifocus不足之处,让它看起来更像“神器”了是不是? 不过,在我们正式开始之前,我还想强调一点,Applescript虽然功能强大,但对于整个系统(或者说,工作流,这个词我更喜欢)来说并不那么重要,它属于锦上添花而非雪中送炭,所以对于没有mac版的人来说,只要想办法解决自定义透视的问题,有没有Applescript并不那么重要——但如果你真的很喜欢Omnifocus,也想发挥它
2、100%的作用的话,买一台mac也没什么。 【如何安装Applescript】 官方解说见:FAQ: Installing & running an OF applescript 这里简单普及一下 打开applescript编辑器,在偏好设置-通用里把下面红框的部分打上勾即可。 然后我们要做的就是打开Omnifocus软件,在桌面右上角,点击下图红框部分的图标 之后,只要将你下载的Applescript放入此文件夹中即可。如果想要在Omnifocus中看到安装的Applescript,只需要选择自定义工具栏,再将安装好的applescri
3、pt拖入工具栏即可。 【我常用的Applescript】 首先必须要声明的是,以下Applescript并非我编写,事实上本人不会任何编程语言,这些Applescript皆为国外网友制作,不过Applescript的语言还不算难懂,一般人可自行调整少数参数,如果有网友懂Applescript的话,欢迎修改或分享更多更好的Applescript。 1.【推迟】与【小睡】 推迟:可推迟截止日期(可选择时间) 小睡:可推迟开始日期(不可选择时间) 使用方法:选中你要选择推迟的项目或任务,点击按钮即可,注意最好不要在透视环境下使用这两个applescript,容易死
4、机,在项目环境下使用没有问题。另外Ritual文件夹下的我不建议使用小睡功能,因为该applescript目前只能开始时间延后的天数,而默认的时间(比如下午5点开始)会调回默认的8am,(据作者所说,保持原有开始时间似乎无法实现,希望有Applescript牛人出现)。 推迟功能可选择推迟到某天某时,d代表天数、w代表周数、或者可直接写成“Jan 19 14:00”或者“Sat 5pm”这样的形式。 小睡功能只能选择推迟开始时间到几天后(注意从你按下按钮的那天算起,而不是该项目原来的设定的开始时间算起) 2.【艾宾浩斯】 Omnifocus本身的重复功能虽然
5、已经很强大,但是依然有一些缺失,比如对于学生党来说,按照艾宾浩斯记忆曲线重复的任务对于复习英语等等显得很重要了。虽然改动Omnifocus本身的重复功能不太可能实现,但是借助Applescript这一强大外挂,我们也可以来个曲线救国。 使用方法:在你的项目文件夹新建一个Review的项目,然后在该项目中键入你需要复习的任务名称,比如“review:Lesson 1”,然后按下艾宾浩斯的按钮,下面会生成四个同样名称的任务,但是呈灰色,那是因为它们的开始时间按照艾宾浩斯的记忆曲线来设定。 注意:由于我将每个晚上的Evening Ritual作为整理每日回顾,整理任务的时间,来安排第二天
6、的工作,因此Applescript的设定时间都提前了一天,但实际执行是按照(24h,3d,5d,7d,15d,30d)来算的。 举个例子,比如今天我学习了一课英语,然后在Omnifocus的review项目里设定“English review:lesson 1”,然后按下艾宾浩斯的按钮,这样在今天晚上回顾的时候,当我打开“个人计划”的透视,会看到review这一项目里出现我前面设定的内容,然后我将其标上旗标,也就是我明天要做的事。同理,当我应该在第三天再次复习这一课时,我在第二天晚上的每日回顾时,就会看到这个任务出现,然后打上旗标。 该Applescript可根据自己的艾宾浩斯曲线
7、来设定修改时间,只是如果你是在今天决定明天要做的事情的话,注意把Applescript里的时间往前挪一天。 3.【总时间】 这个Applescript可以用来计算几个项目的“估计时间”总和,用法很简单,只要选中他们按下按钮就可以了,最广泛的应用在第二天工作时间的估计上,我通常会限制第二天工作时间总计不超过5h。当然在使用这个Applescript时,你先要在检查器中设定每一个任务的估计时间。对于正在尝试番茄工作法和柳比歇夫事件记录法的筒子们,我推荐这个Applescript,与Atimelogger 2时间记录软件搭配,对自己每项工作大概需要花费多少时间会有更清晰的了解。
8、 4.【模板】 这是这5个Applescript中功能最强大的一个,原作者有一篇目测1000多字的说明文档TEMPLATES.SCPT,其复杂性和强大性不言而喻了。 使用方法在这里简单介绍一下,更详细的说明请参考上面的链接: 该Applescript要求你现在资源库里新建一个名为Template的文件夹,用来存放你设置好的模板。Applescript主要有两种作用,一种是模板的复制,即参数不做改变的模板将会直接复制到你所选择的其他文件夹中,另外一种是可以事先设置需要的参数,在复制的同时,模板中的相应参数会相应变换,后一种方法有多种应用,具体请参考上面链接。
9、下面举一个最简单的淘宝购物的实例: 首先在Template文件夹新建一个模板,其中淘宝店家的名字和购买的东西每次都不同,但基本流程相同,于是在变量前加上$符号,注意要将变量同时写在项目的附注部分。 然后我们按下该applescript,出现了如下画面: 选中模板的名字,按“Select This Project”,会让你选择将该模板放置到哪个文件夹中: 到这一步,如果模板中没有设置任何参数,那么该模板会直接复制到选中的文件夹中,如果有参数,则会有如下画面: 填入相应的变量,确定即可。 最后的效果: 5
10、报告】 该Applescript可在Evernote中生成今天、昨天、这周、上周、这个月的完成报告,使用前先打开Evernote,然后按下按钮,选择想要生成的报告即可。 最后是最最重要的 以上五个Applescript下载链接:下载点我【链接已更新】 下一篇是【External Support】,敬请期待O(∩_∩)O 感谢@韩五花 同学的解答,目前部分同学于东艾宾浩斯applescript无法运行,请尝试下面方法: 艾宾浩斯那个问题我也遇到了,是dueSec的问题,把所有dueSec的部分去掉就可以了。 把四个property后面那一段换成下面的就
11、行。 on GetDefaultDueTime() tell application id "OFOC" to tell front document to set timeStr to value of setting id "DefaultDueTime" set {otid, text item delimiters} to {text item delimiters, ":"} set {dueHour, dueMin, text item delimiters} to every text item in timeStr & otid return (((dueHour * 60) + dueMin) * 60) end GetDefaultDueTime P.S 狠狠推荐才是爱啊






