emacs中有gtd模式,那vim是不是也可以实现呢?当然可以!
只要搭配vimwikisnipmate,再加上笔者写的插件vimgtd,就可以完美实现gtd的功能,目前实现的功能如下:

  1. 查看今天待完成的任务
  2. 查看所有待完成的任务
  3. 查看过去某天已完成的任务
  4. 快捷创建任务,标记为已完成
  5. 以不同的颜色标识 未开始、进行中、过期、已完成 状态的任务

一.安装方法

二.使用说明

如功能列表里面提到的,我们一步步来操作

  • 查看今天要完成的任务列表

    输入如下命令:

    1
    
    :TaskToday

    此时的界面应该是空的,因为我们还没有创建任何任务。现在在编辑区输入

    1
    
    tpl

    并按tab键,将会出现如下内容:

    1

    在inbox下输入

    1
    
    *

    并按tab键,之后再输入

    1
    
    task

    将会出现如下内容

    1

    然后就可以编辑任务的内容了

    这个时候,我们再输入

    1
    
    :TaskToday

    将会看到如下界面:

    1

  • 同样的,查看所有待完成的命令是:

    1
    
    :TaskAll

    查看过去某天完成的任务的命令是:

    1
    
    :TaskDoneOrDoingByDate {date}

    1
    
    :TaskDoneOrDoingByDate 2011-6-1
  • 标记任务为已完成的命令为:

    1
    
    :TaskToggle

最后,贴一张我在日常使用中的图片:

1

OK,基本就是这样啦,更多的功能就由大家自己来体验吧!也欢迎大家多多提建议!


ps:
刚刚偶尔发现 www.vim.org上有一个记便签的插件,试用了一下还不错,有兴趣的朋友可以试一下:
notes.vim





原创文章,版权所有。转载请注明:转载自Vimer的程序世界 [ http://www.vimer.cn ]

本文链接地址: http://www.vimer.cn/?p=2222

18 个评论 在 “vimgtd-在vim(gvim)中实现GTD时间管理!【本博原创插件】”

  1. fanhe 说:

    vimwiki 到现在还不支持锚点, 在 vim 中也很容易实现, 只要search就行了, 为啥还不支持呢

    [回复]

  2. 我来逛逛,顺便帮博主顶一下,嘿嘿。

    [回复]

  3. 大尾巴兔 说:

    我最近一直在找结合vimwiki的这种插件,没想到博主实现了…哈哈哈哈哈

    [回复]

    Dante 回复:

    哈哈,希望有所帮助~~

    [回复]

  4. heyi 说:

    楼主,这个好好,有时间好好向你请教下.

    [回复]

  5. coralsea 说:

    很喜欢你的vimgtd!
    请教一下:GTD任务是否只能记录在index.wiki里?我记在其他页面用TaskAll就检索不到了

    [回复]

    Dante 回复:

    感谢支持~~
    呃。。的确只能记录在index.wiki里。。

    [回复]

  6. coralsea 说:

    补充一下:
    vimwiki定义的TAB键(table_auto_fmt)和snipmate冲突,需要在~/_vimrc里面加上这一行:
    let g:vimwiki_table_auto_fmt = 0

    [回复]

    yyfreeman 回复:

    嗯,谢谢,遇到同样的问题,你的补充很管用

    [回复]

  7. yyfreeman 说:

    谢谢博主分享,您的插件我下下来试用了一下,发现整体上实现了GTD的功能,不过感觉还有很大改良空间。我发现任务列表的第一个任务总是高亮,未做的任务报的是warnning,标记为已做的任务报的是error,用warnning和error倒是能区分开做过的和未做过的任务,但总是感觉有些别扭,能不能换成doing或done等标记,或者干脆去掉也行,省的碍眼。还有,最好能将gtd同之前的vimwiki分开,我的意思是不要共用一个index.wiki,之前用vimwiki写过一些knowledge base神马的跟tpl共用一个页面后感觉有些乱。期待下一个版本。

    [回复]

    Dante 回复:

    刚好有时间,就改了一下,现在默认是用 task/task,也可以用
    let g:wikigtd_index = ‘task/task’
    自己配置

    [回复]

    yyfreeman 回复:

    很好!多谢,辛苦了~

    [回复]

    Dante 回复:

    标记这里,error标识要到期的任务,warnning标识进行中的任务,info标识还未开始的任务。
    优先级不一样,所以这样会更清晰一点,实在不喜欢,可以把
    let tmpdict["type"] = “w”
    这种类似的语句,都设置成空就可以了。

    [回复]

    yyfreeman 回复:

    嗯,好的!

    [回复]

    time 回复:

    是不是和supertab有冲突,安装后自动补全就消失了

    [回复]

    time 回复:

    果然,第一次听说snipmate

    [回复]

    Dante 回复:

    恩,tab会冲突,这插件很不错的

    [回复]

我要评论

*

*