vimgtd-在vim(gvim)中实现GTD时间管理!【本博原创插件】
Published on 六月 26, 2011
emacs中有gtd模式,那vim是不是也可以实现呢?当然可以!
只要搭配vimwiki和snipmate,再加上笔者写的插件vimgtd,就可以完美实现gtd的功能,目前实现的功能如下:
- 查看今天待完成的任务
- 查看所有待完成的任务
- 查看过去某天已完成的任务
- 快捷创建任务,标记为已完成
- 以不同的颜色标识 未开始、进行中、过期、已完成 状态的任务
一.安装方法
-
安装依赖:
vimwiki
snipmate -
安装步骤:
- 到http://www.vim.org/scripts/script.php?script_id=3644下载本博编写的vimgtd,并解压到vimfile 或者 .vim目录
- 安装好vimwiki和snipmate
- OK啦!
二.使用说明
如功能列表里面提到的,我们一步步来操作
-
查看今天要完成的任务列表
输入如下命令:
1
:TaskToday此时的界面应该是空的,因为我们还没有创建任何任务。现在在编辑区输入
1
tpl
并按tab键,将会出现如下内容:
在inbox下输入
1
*并按tab键,之后再输入
1
task
将会出现如下内容
然后就可以编辑任务的内容了
这个时候,我们再输入
1
:TaskToday将会看到如下界面:
-
同样的,查看所有待完成的命令是:
1
:TaskAll查看过去某天完成的任务的命令是:
1
:TaskDoneOrDoingByDate {date}
如
1
:TaskDoneOrDoingByDate 2011-6-1
-
标记任务为已完成的命令为:
1
:TaskToggle
最后,贴一张我在日常使用中的图片:
OK,基本就是这样啦,更多的功能就由大家自己来体验吧!也欢迎大家多多提建议!
ps:
刚刚偶尔发现 www.vim.org上有一个记便签的插件,试用了一下还不错,有兴趣的朋友可以试一下:
notes.vim
原创文章,版权所有。转载请注明:转载自Vimer的程序世界 [ http://www.vimer.cn ]
本文链接地址: http://www.vimer.cn/?p=2222




vimwiki 到现在还不支持锚点, 在 vim 中也很容易实现, 只要search就行了, 为啥还不支持呢
[回复]
能抢个沙发吗
[回复]
我来逛逛,顺便帮博主顶一下,嘿嘿。
[回复]
我最近一直在找结合vimwiki的这种插件,没想到博主实现了…哈哈哈哈哈
[回复]
Dante 回复:
六月 29th, 2011 at 7:12 下午
哈哈,希望有所帮助~~
[回复]
楼主,这个好好,有时间好好向你请教下.
[回复]
很喜欢你的vimgtd!
请教一下:GTD任务是否只能记录在index.wiki里?我记在其他页面用TaskAll就检索不到了
[回复]
Dante 回复:
七月 4th, 2011 at 1:16 下午
感谢支持~~
呃。。的确只能记录在index.wiki里。。
[回复]
补充一下:
vimwiki定义的TAB键(table_auto_fmt)和snipmate冲突,需要在~/_vimrc里面加上这一行:
let g:vimwiki_table_auto_fmt = 0
[回复]
yyfreeman 回复:
八月 19th, 2011 at 9:58 上午
嗯,谢谢,遇到同样的问题,你的补充很管用
[回复]
谢谢博主分享,您的插件我下下来试用了一下,发现整体上实现了GTD的功能,不过感觉还有很大改良空间。我发现任务列表的第一个任务总是高亮,未做的任务报的是warnning,标记为已做的任务报的是error,用warnning和error倒是能区分开做过的和未做过的任务,但总是感觉有些别扭,能不能换成doing或done等标记,或者干脆去掉也行,省的碍眼。还有,最好能将gtd同之前的vimwiki分开,我的意思是不要共用一个index.wiki,之前用vimwiki写过一些knowledge base神马的跟tpl共用一个页面后感觉有些乱。期待下一个版本。
[回复]
Dante 回复:
八月 19th, 2011 at 10:41 上午
刚好有时间,就改了一下,现在默认是用 task/task,也可以用
let g:wikigtd_index = ‘task/task’
自己配置
[回复]
yyfreeman 回复:
八月 19th, 2011 at 5:21 下午
很好!多谢,辛苦了~
[回复]
Dante 回复:
八月 19th, 2011 at 10:44 上午
标记这里,error标识要到期的任务,warnning标识进行中的任务,info标识还未开始的任务。
优先级不一样,所以这样会更清晰一点,实在不喜欢,可以把
let tmpdict["type"] = “w”
这种类似的语句,都设置成空就可以了。
[回复]
yyfreeman 回复:
八月 19th, 2011 at 4:42 下午
嗯,好的!
[回复]
time 回复:
十二月 16th, 2011 at 7:18 下午
是不是和supertab有冲突,安装后自动补全就消失了
[回复]
time 回复:
十二月 16th, 2011 at 7:29 下午
果然,第一次听说snipmate
[回复]
Dante 回复:
十二月 18th, 2011 at 11:01 下午
恩,tab会冲突,这插件很不错的
[回复]