vimflowy: workflowy的vim实现

在很早一篇《像发微博一样做GTD》里面,我提到可以在Vim里面实现workflowy的功能。经过参考 Vimoutliner 和 VimOrganizer,我自己做了一个vim插件,可以实现workflowy的大部分功能。同时因为是基于纯文本的,随便扔一个网盘就可以同步了,移动设备上也可以方便的查看。

特点

  • 大纲列表,用缩进表示层级,TAB键可以切换展开/折叠
  • #和@关键字高亮和过滤
  • 标记完成功能

安装

项目主页在 http://www.github.com/laoyang945/vimflowy

安装只需要把文件拷贝到pathogen设定的插件目录即可

使用

用vim打开后缀为otl的文本文件后,插件就自动加载了。使用方法和workflowy基本相同,都是使用缩进来标记大纲层次,用冒号或者分号来标记补充内容。由于是基于vim的,对快捷键的支持当然是必须的

快捷键

  • [normal],,N(N=0~9): 所有条目展开到第N级,当N=0的时候表示全部展开
  • [normal],,dn: 标记当前节点及其所有子节点完成,并附加完成时间
  • [normal]zs: 显示所有含有光标下单词的条目(不包括补充内容)
  • [normal]zn: 和,,0的效果一样
  • [normal & insert],,d: 插入日期
  • [normal & insert],,t: 插入时间

截图

大纲,折叠,关键字和标记完成

文本过滤

欢迎各位Vimer和GTDer使用并提出意见和建议。

Workflowy:像发微博一样做GTD

时隔好久我又开始说一说GTD的事情,这个时间管理方法的思路很简单,收集-加工-组织-执行-回顾。

  • 收集:用一个统一的收件箱来存放你的各种杂事,可以是一个实物的收件箱,记事簿或者是电子化的收件箱,并且尽量每天都通过加工来清空你的收件箱。

  • 加工:杂事可以分几类:项目,任务,备忘和愿景。超过两分钟或者需要多步骤才能完成的任务叫做项目。备忘是在你需要的时候能找到的东西,不需要采取行动,愿景是你短时间做不了的事情。对于项目,加工时列出下一步的行动。这样,你需要维护四个列表:项目,下一步行动,参考和愿景。

  • 组织: 按照场合组织你的下一步行动列表,这样你在同样的场合就可以批量执行任务了,这样的效率会比在不同的场合间切换要高。有一些行动有特定的时间属性(比如周日出席的婚礼),那就放到日程表里面去。这样,你还需要维护一个日程表。有些行动你需要委派别人,这样你得维护一个等待列表。所以,现在你有:项目,下一步行动,参考,愿景,日程和等待六个列表。

  • 执行:按照场合执行任务,其中可以参考诸如『番茄工作法』,『吃掉那只青蛙法』等等。

  • 回顾:每周回顾你的项目、愿景和等待这三个列表,看是不是列表上的内容可以转到你的收件箱里面去,从而转换为下一步行动。

对GTD的介绍就到这里。GTD的好处不必多说,若干年前一个用这个方法的同学就告诉我『GTD让我不忘事』——其实时间管理的本质就是减轻你无端的压力而已。

但是GTD这整套方法的流程或者说操作本身可以说是比较繁琐的(因此有一些简化的版本),特别是在加工和组织上,一个行动往往会有两个维度以上的属性,比如场合以及所属的项目(或者还包括截止时间),那在我们进行收集的时候如果采取分别填写的方式,那就会在使用工具上花费不不要的时间和精力,并且同时需要维护六个列表,负担不能说不小。

直到我发现了Workflowy, 其整合了树状的项目管理功能以及简洁高效的输入功能,在使用Workflowy的过程中我发现,其实GTD时间管理的流程完全可以像发微博那样进行

从Workflowy的介绍视频(Youku|Youtube)里可以看出Workflowy的特点是:

  • 一个简单的大纲式软件(outliner web application)

  • 用缩进距离表示节点从属关系

  • 通过设置当前节点以及展开/收缩节点,方便查看节点概览和节点详情

  • 子节点是有序的,通过拖拽可以调整

  • 支持快捷键操作

  • 移动设备访问方便,不需要特别的App,浏览器直接访问网站就可以

为何我认为使用Workflowy来做时间管理会像发微博一样方便呢?重点就是他的标签功能:Workflowy支持用#和@开头的标签链接(可惜不支持中文),正如微博里面使用的这两个符号一样。而且在其搜索功能中还可以对这两个符号标签自动补全。这一功能大大的简化了GTD流程中的加工和组织工作,于是我们可以这样使用:

  • 用树形列表管理收件箱、项目及愿景

  • 用#标签管理场合,比如 #mail,#家,#google,#淘宝 等

  • 用@来管理等待列表,比如 @boss,@honey等,正如你发微博那样

这样来使用Workflowy,你的列表就是下图这个样子

当你点击或者搜索关键字(快捷键Esc)的时候,Workflowy就会给你动态的生成一个『场合』列表

这样你就不需要手动的去维护这个场合内的『下一步行动』列表了。同理,你可以用#today标签来表示需要今天需要做的事项,达到在执行的时候迅速查看的效果。

现在返过来看看这一GTD系统的实现,其实就是一个『关键字搜索+大纲列表』的功能,其实不需要在线应用也能完成,现成的大纲列表软件应该都是能胜任这一任务的。作为键盘操作控,我初步用Vim实现了这一要求,将在下一篇日志里面介绍给大家。