Taskwarrior 是一个灵活的命令行任务管理程序[1],用他们自己的话说[2]:Taskwarrior 在命令行里管理你的 TODO 列表。它灵活,快速,高效,不显眼,它默默做自己的事情让你避免自己管理。
Taskwarrior 是高度可定制的,但也可以“立即使用”。在本文中,我们将向你展示添加和完成任务的基本命令,然后我们将介绍几个更高级的命令。最后,我们将向你展示一些基本的配置设置,以开始自定义你的设置。
安装 Taskwarrior
Taskwarrior 在 Fedora 仓库中是可用的,所有安装它很容易:
sudodnf install task
一旦完成安装,运行 task 命令。第一次运行将会创建一个 ~/.taskrc 文件。
$ task
A configurationfilecouldnotbe foundin~
Wouldyou like a sample/home/link/.taskrc created,soTaskwarriorcan proceed?(yes/no)yes
[tasknext]
Nomatches.
添加任务
添加任务快速而不显眼。
$ task addPlantthe wheat
Createdtask1.
运行 task 或者 task list 来显示即将来临的任务。
$ tasklist
IDAgeDescriptionUrg
18sPlantthe wheat0
1task
让我们添加一些任务来完成这个示例。
$ task addTendthe wheat
Createdtask2.
$ task addCutthe wheat
Createdtask3.
$ task addTakethe wheat to the mill to be ground into flour
Createdtask4.
$ task addBakea cake
Createdtask5.
再次运行 task 来查看列表。
[tasknext]
IDAgeDescriptionUrg
13minPlantthe wheat0
222sTendthe wheat0
316sCutthe wheat0
48sTakethe wheat to the mill to be ground into flour0
52sBakea cake0
5tasks
完成任务
将一个任务标记为完成, 查找其 ID 并运行:
$ task1done
Completedtask1'Plant the wheat'.
Completed1task.
你也可以用它的描述来标记一个任务已完成。
$ task'Tend the wheat'done
Completedtask1'Tend the wheat'.
Completed1task.
通过使用 add、list 和 done,你可以说已经入门了。
设定截止日期
很多任务不需要一个截止日期:
task addFinishthe article onTaskwarrior
但是有时候,设定一个截止日期正是你需要提高效率的动力。在添加任务时使用 due 修饰符来设置特定的截止日期。
task addFinishthe article onTaskwarriordue:tomorrow
due 非常灵活。它接受特定日期 (2017-02-02) 或 ISO-8601 (2017-02-02T20:53:00Z),甚至相对时间 (8hrs)。可以查看所有示例的 Date & Time[3] 文档。
日期也不只有截止日期,Taskwarrior 有 scheduled, wait 和 until 选项。
task addProofthe article onTaskwarriorscheduled:thurs
一旦日期(本例中的星期四)通过,该任务就会被标记为 READY 虚拟标记。它会显示在 ready 报告中。
$ task ready
IDAgeSDescriptionUrg
12s1dProofthe article onTaskwarrior5
要移除一个日期,使用空白值来 modify 任务:
$ task1modify scheduled:
查找任务
如果没有使用正则表达式搜索的能力,任务列表是不完整的,对吧?
$ task'/.* the wheat/'list
IDAgeProjectDescriptionUrg
242minTakethe wheat to the mill to be ground into flour0
142minHomeCutthe wheat1
2tasks
自定义 Taskwarrior
记得我们在开头创建的文件 (~/.taskrc)吗?让我们来看看默认设置:
#[Createdby task2.5.12/9/201716:39:14]
#Taskwarriorprogram configurationfile.
#Formoredocumentation,see http://taskwarrior.org or try 'man task', 'man task-color',
#'man task-sync'or'man taskrc'
#Hereisan example of entries thatusethedefault,overrideandblank values
#variable=foo--Byspecifying a value,thisoverrides thedefault
#variable=--Byspecifyingnovalue,thismeansnodefault
##variable=foo--Bycommenting out the line,ordeleting it,thisuses thedefault
#Usethe command'task show'to see all defaultsandoverrides
#Files
data.location=~/.task
#Colortheme(uncomment one touse)
#include/usr//usr/share/task/light-16.theme
#include/usr//usr/share/task/light-256.theme
#include/usr//usr/share/task/dark-16.theme
#include/usr//usr/share/task/dark-256.theme
#include/usr//usr/share/task/dark-red-256.theme
#include/usr//usr/share/task/dark-green-256.theme
#include/usr//usr/share/task/dark-blue-256.theme
#include/usr//usr/share/task/dark-violets-256.theme
#include/usr//usr/share/task/dark-yellow-green.theme
#include/usr//usr/share/task/dark-gray-256.theme
#include/usr//usr/share/task/dark-gray-blue-256.theme
#include/usr//usr/share/task/solarized-dark-256.theme
#include/usr//usr/share/task/solarized-light-256.theme
#include/usr//usr/share/task/no-color.theme
现在唯一生效的选项是 data.location=~/.task。要查看活动配置设置(包括内置的默认设置),运行 show。
task show
要改变设置,使用 config。
$ task config displayweeknumberno
Areyou sure you want to add'displayweeknumber'witha value of'no'?(yes/no)yes
Configfile/home/link/.taskrc modified.
示例
这些只是你可以用 Taskwarrior 做的一部分事情。
将你的任务分配到一个项目:
task'Fix leak in the roof'modify project:Home
使用 start 来标记你正在做的事情,这可以帮助你回忆起你周末后在做什么:
task'Fix bug #141291'start
使用相关的标签:
task add'Clean gutters'+weekend+house
务必阅读完整文档[4]以了解你可以编目和组织任务的所有方式。