Ray +

Taskwarrior

什么是Taskwarrior

Taskwarrior是一个终端下的任务管理工具,功能及其强大。 具体信息在它的官方网站上面已经介绍的很相近了。下面就列一段概述:

It maintains a task list, allowing you to add/remove, and otherwise manipulate your tasks. Task has a rich set of subcommands that allow you to do sophisticated things. You'll find it has customizable reports, charts, GTD features, device synching, documentation, extensions, themes, holiday files and much more.

安装

Ubuntu

sudo apt-get install task

Mac with brew

brew install task

基础用法

新增一个任务

添加一个任务很简单,直接task add后面跟上任务的描述就可以了。

$ task add Buy a vps!
$ task list

ID Project Pri Due Active Age Description
 1                         3s Buy a vps!

1 task

删除一个任务

删除一个任务,需要做的是运行task <filter> delete。这里的<filter>暂时可以简单 的看做这个任务的ID,后面会详细介绍<filter>的用法。:)

$ task
[task next]

ID Project Pri Due A Age Urgency Description
 1                   29s       0 Buy a vps!

1 task
$ task 1 delete
Permanently delete task 1 'Buy a vps!'? (yes/no) yes
Deleting task 1 'Buy a vps!'.
Deleted 1 task.

将任务标记为完成

完成一个任务和删除一个任务很相似,运行task <filter> done

$ task add Buy a vps!
Created task 2.
$ task
[task next]

ID Project Pri Due A Age Urgency Description
 1                    1s       0 Buy a vps!

1 task
$ task 1 done
Completed task 1 'Buy a vps!'.
Completed 1 task.

将任务纳入隶属的项目

Taskwarrior的功能很强大,可以简单的为每个任务创建一个隶属的项目。可以有很多种方 法创建或修改任务隶属的项目组。

高级用法

优先级(priority)

Taskwarrior允许设置任务的优先级。分别有L(Low),M(Middle)和H(High)三个级别 。

截止日期(due)

既然是任务管理,没有截止日期还能算强大么?所以,理所当然的,Taskwarrior的due就 应运而生了(其实我一点儿都不觉得理所当然,时时刻刻感谢Taskwarrior开发者们的良苦 用心)。

注释(annotate/denotate)

$ task add Create a blog.
$ task 1 annotate I need a linux server
$ task 1 annotate I gotta learn php
$ task 1
[task next 1]

ID Project Pri Due A Age Urgency Description
 1                   15s     0.9 Create a blog.
                                 8/8/2013 I need a linux server
                                 8/8/2013 I gotta learn php

1 task

标签

$ task add Create a blog.
$ task 1 modify +blog # 为任务添加标签
$ task +blog list # 标签过滤器
$ task 1 modify -blog # 删除任务的某一个标签

追加(prepend/append)

有时候,想要给任务追加一些描述,但是又不想重新把任务的描述打一次的话,可以使用 prependappend功能。

$ task add music
$ task 1 prepend Download some
$ task 1 append into my iPod
$ task 1
[task next 1]

ID Project Pri Due A Age Urgency Description
 1                   13s       0 Download some music into my iPod

1 task

重复任务(recur/until)

$ task 1 modify due:eom recur:monthly
$ task 2 modify due:eom recur:yearly
$ task 3 modify due:eom recur:monthly until:eoy
$ task recurring

日历(cal)

$ task cal

关于这个命令,我就不放运行结果了,反正是相当的惊艳。好了,再见吧,少年们!

Taskwarrior

More

本来还想写一点高级<filter>和高级查询相关的命令。但是我觉得相对于强大的 Taskwarrior,再多的解释都是冰山一角。如果想了解更多,就看手册吧。写的相当详尽可 靠。

$ man task
$ man task-tutorial
点击查看评论

Code

Life

Project