推荐使用todo.txt
有一段时间一直在用Omnifocus(iPhone + iPad + Macbook)。它无论是从GTD的符合度,还是从用户体验,还是Sync的体验,都非常好。
缺点也是显而易见的!就是没有办法跨平台,好不容易有人给Android做了一个Focus GTD,但被Omnifocus围追堵截。而且目前还不支持Omnifocus的新的加密存储格式。
我一度设置了一个bash alias,聊以在Linux上做收件箱。
alias omnifocus="alpine example.123456@sync.omnigroup.com"
前几天在对比了 Taskwarrior 和 Todo.txt 之后,决定正式迁移到 Todo.txt 上。(啊,中间还短暂的用了一个月的Emacs Org Mode,体验也非常好,可惜iPhone上没有好用的客户端。
GTD
有好几本书,但是从来都没有勇气读完。 Omnifocus的GTD文档或许可堪一看。
这里着重补充一点(也是昌老师强调过的..):
Regular review of your actions and projects is central to making sure the GTD methodology works.
不定期Review的话,这些项目就会整整齐齐地死你在的列表里。
上面这个演讲推荐一看。
Todo.txt 的语法
Todo.txt的作者Gina Trapani是LifeHacker的创始人之一,最早版本的Todo.txt也是发布在这上面的。
比如:
(A) @buy 回家的车票 due:2017-01-15
把洗衣机里的衣服晾起来 t:2017-01-11 due:2017-01-12 @宿舍
见到 @周星驰 的时候跟他要个签名
见到 @周星驰 的时候跟他说孩子已经打掉了
@office 见到 @李老师 的时候向他汇报一下 +国家科技进步一等奖报奖 事宜
在 @宿舍 看 @movie 神探夏洛克
有空了看 @movie 中纪委纪录片《打铁还需自身硬》
@office 写 +国家科技进步一等奖报奖 的文件清单 发给 @李老师 审阅 due:2017-01-13
有钱了买架飞机 @buy
在淘宝上下单一个京东自营的淘公仔 @buy
@office 试一下todo.txt与Dropbox同步
非常简单,最早的todo.txt客户端Todo.txt CLI就是一个一千多行的bash脚本。
我做了三个bash alias:
alias tt="todotxt-machine ~/Dropbox/todo/todo.txt ~/Dropbox/todo/done.txt"
alias t="todo-txt -a -d ~/Dropbox/todo/todo.config" # -a: 在 t do 的时候不要自动archive. 后面可以手动 t archive
alias vimtodo="vim ~/Dropbox/todo/todo.txt"
接着,在你有空想看电影的时候:
t ls @movie
正好见到老板的时候:
t ls @李老师
有一笔闲钱的时候:
t ls @buy
排除掉一些目前不合适的Context:
alias t-focus="t |grep -v -e @movie -e @home -e @waiting -e @someday -e @buy | less -r"
# less -r 可以保留颜色
平时建议的工作流程:
t p 1 A #把1号任务标为优先级为A
t lsp #把标有(A) (B) (C)等优先级的事情列出来
t do 1 #把1号任务标为做完,并自动移动到done.txt里归档
可以多用 t:2017-01-11
这样的语法,然后在客户端里选上 Hide future tasks
,这样就可以处理一些到了特定时候才需要做的事情,而平时它又不会出来烦你。
少用 due:2017-01-15
这样的语法,除非它真的是 Dead Line.
另外,Todo.txt也支持一些插件,推荐试一试schedule插件,配合futureTasks把没到t:
时间的事件隐藏,风味更佳。
各客户端
- Linux:
- Android: Simpletask
- 以及其删除了Dropbox的Simpletask Cloudless版本
- iOS: SwiftoDo 1
- macOS:
brew install todo-txt
- TodoTxtMac,貌似没太大的必要
- Chrome: Todo.txt Chrome App 1
- emacs: todotxtel
- Windows: todotxt.net
- vim: todo.txt-vim 1
几个不建议用的:
- QTodoTxt: 安装包写的不好,没装上
- jdotxt: java写的,GUI布局很科学,但不支持中文
- iOS todo.txt-touch: 好久不更新了,一片差评
- Android todo txt touch: 同上
还有几个Html5/Javascript的方案,貌似对中文的Context不太好
缺点
没有找到支持WebDAV或BTSync(Resilio Sync)的客户端。
我在iOS上用 SwiftoDo ,只能支持Dropbox同步。 目前为了安全/干净起见,注册了一个单独的Dropbox给它用。
冲突案例
刚刚不小心造成了一起冲突:
我用t add
添加了一条项目,并用t do
清掉了几件事。然后发现另一个tmux里开着一个昨天没关的todotxt-machine
,就按q
退出了。
结果todotxt-machine
关的时候会覆盖之前的文件.. 吓尿了
赶紧去手机上尝试强制上传覆盖,未果。(即使是先开飞行模式,再手动更新一个条目,再关飞行模式,还是瞬间就拉回了旧的数据)
还好,Dropbox有所有版本的历史记录……太伟大了..
所以,用todotxt-machine
的时候,一定要确认一下是不是要按q - save and quit
,还是需要先按一次R - Reload
..
鬼扯几句
发现最关键的有两条:
- 多用 @Context 这种上下文,比如 @home @office @phone @bus @metro @computer
- 要有两个 @someday 和 @waiting
- 要保持 Inbox Zero
- 一星期Review一次 <—否则所有东西都死在清单里了
- 要识数
如何想出这么多的todo项目呢?
Good question. 引出了我的第二个核心的方法论:
精神分裂工作法
你在脑子里虚拟出8个你计几 然后选出一个小组长
理清这8个分身的汇报关系和层级,
给这8个分身定好KPI的考核绩效
然后就开会。
2017-06-13 补充: Taskpaper
今天我迁移到了 Taskpaper,发现 Taskpaper 的语法比 todo.txt 更科学一点:
- Project 一定要放在一起,比Todo.txt散着放好多了
- Mac 上有一个非常漂亮非常完备非常好用的GUI
- Taskpaper 语法被 Omnifocus 原生支持
- 此刻 vim-taskpaper 的星星数量(274)比 vim-todotxt (228) 要多
纯文本真的好方便,花了几分钟的时间,就已经完成了 Ørg Mode 一年前的数据 + Todo.txt 半年前的数据迁移到 Taskpaper 上了。
另外,Taskpaper 的作者还做了一个书写工具 FoldingText,看似是个 Markdown 编辑器,但实际上是一个 Outliner,有一种 Org Mode 的范儿。Outliner和Todo list是两个维度的东西。我以前相当长的一段时间里,是把Todo list当成Outliner来用,用Todo list来做长期工作计划,于是好多条目就惨死在Todo list里。
无论是 Taskpaper 还是 FoldingText,都继承了 Org Mode 的思路,但是有一条非常重要的优点:
- 可以方便地安利™给妹子
Laukc: 然而……
Laukc: 还是没有做啊
Scateu: 迁移的时候相当于强制review一次了嘛
Scateu: 总会做的…
Scateu: 啊你不要再说了!
Scateu: 正在哭
哦最后还学到了一个新词,大致上就是描述我这种整天折腾 GTD 的人: Productivity Masturbation.
tickle me email
Debian的领导人Lamby来北京的时候,跟他聊了一会,他写了一个系列脚本: https://chris-lamb.co.uk/projects/tickle-me-email
用Email IMAP操作来实现GTD。
2018-08-30 补充: Todo List Never Done
http://www.cup.com.hk/2018/08/30/to-do-list-never-done/
Eat a live frog first thing in the morning and nothing worse will happen to you the rest of the day. – Mark Twain
大意是说,Todo List本来就是一个会让人挫败的东西…