blog-site

git clone git://git.lin.moe/blog-site.git

 1---
 2title: "Taskwarrior 初试"
 3date: 2021-04-10T08:06:45+08:00
 4draft: true
 5---
 6
 7时间管理软件有用过微软的 ToDo, todoist, todo.txt,还有一款手机上的 Boosted。但都不尽如人意。  
 8
 9要么是不够“free”(自由与免费),要么是功能太过简洁。  
10
11遂由搜索引擎找到 Taskwarrior ,感觉还不错,于是想介绍一下。  
12
13## 安装
14Arch Linux 直接 ```pacman -S task``` 即可。  
15
16首次运行 ```task```初始化相关文件,存放在 \~/.task 目录和 \~/.taskrc 文件中。   
17
18## Fast Start
19通过 task add 命令创建任务:
20```
21task add "Write a blog about Taskwarrior" project:blog priority:M due:eow +self 
22# task add <description> [project:<project> priority:<priority> due:<due> +<tag> ]
23```
24task 或者 task next 可以看到待完成的任务(紧急排序)
25![create task](/media/taskwarrior/create_task.png)
26
27如果需要更加详细的任务信息,如紧急度计算,更改记录等,可以使用  
28
29```
30task <id> info
31```
32![task information](/media/taskwarrior/task_info.png)  
33
34可惜 Taskwarrior 没有添加子任务的选项。  
35可以通过 annotation 在一定程度上替代  
36
37```
38task 1 annotate "Install Task in tablet"
39```
40![task annotation](/media/taskwarrior/task_annotation.png)  
41当一个任务完成时,使用
42```
43task <id> do
44```
45
46## Context
47个人觉得 Taskwarrior 比较有特色的一点是,可以通过创建不同的 Context 定义不同的使用场景,过滤掉不需要考虑的任务。  
48比较常用的是用来区分工作和在家的场景。  
49```
50task context define work <filter>
51```
52![context](/media/taskwarrior/context.png)  
53比如我就仅建立了两个 context
54```
55Name Definition       Active
56home project.not:work yes   
57work project:work     no
58```  
59不仅是用 project 作为过滤器,其他诸如 tag, due, priority 都可以作为过滤器,详见 [Taskwarrior-Filters](https://taskwarrior.org/docs/filter.html)  
60## 其他常用命令
61```
62task history # 所有任务数量(月)
63task summary # project 的待完成任务数和进度
64task burndown # 类似与成就表
65```
66
67更详细的介绍请查看[官方文档](https://taskwarrior.org/docs/)