Taskwarrior – 命令行 TODO 任务管理器应用程序

我们经常犯的最常见的错误是“我不需要做笔记。我会记住它”。 不是吗? 它的确是。 我也不例外。 这个错误我已经犯过很多次了。 不再! 今天,我发现了一个有用的命令行 TODO 任务管理器应用程序,名为 “任务战士”. 它是一个免费的开源实用程序,可以从命令行管理您的 TODO 列表。 它是高效、灵活、快速且不显眼的工具。 您可以添加各种任务,例如每日、每周、每月的家务活、个人目标、与官方相关的工作、家庭活动,并像专业人士一样从命令行管理它们。

当然,有许多基于 GUI 的任务管理器、Web 应用程序可用。 我选择这个实用程序的原因是我以前主要在命令行上工作。 它帮助我尽快完成工作,并让我在工作和家庭中保持井井有条。 简而言之,它完成了它的工作,然后让你离开。 在本教程中,我将向您展示如何在类 Unix 操作系统中使用 Taskwarrior 有效地管理您的任务。 继续阅读。

在 Linux 中安装 Taskwarrior

Taskwarrior 在大多数现代 Linux 操作系统的默认存储库中可用。

在 Arch Linux 及其衍生产品如 Antergos、Manjaro Linux 中,运行以下命令进行安装。

$ sudo pacman -S task

在基于 RPM 的系统上,例如 Fedora如下图安装。

$ sudo dnf install task

在 SUSE/openSUSE 上:

$ sudo zypper in task

在 Debian、Ubuntu、Linux Mint 上:

$ sudo apt-get install task

如果它在默认存储库中不可用,您可以使用安装 Linuxbrew 如下所示的包管理器。

$ brew install task

下载免费提示和技巧指南:“Bash 命令行专业提示”

如何使用 Taskwarrior 命令行 todo 任务管理器

Taskwarrior 的使用没什么大不了的。 您可以在几天内学习所有命令。 在这里,我介绍了最常用的命令。

在开始使用它之前,运行 任务 创建文件的命令 ~/.taskrc. 该文件保留了 Taskwarrior 的所有设置。

$ task

样本输出:

A configuration file could not be found in

Would you like a sample /home/sk/.taskrc created, so Taskwarrior can proceed? (yes/no) y
[task next]
No matches.

添加任务

现在让我们用一些任务填充Taskwarrior。

要添加任务,只需运行:

$ task add Write a guide about Taskwarrior

样本输出:

Created task 1.

让我们添加更多任务。

$ task add Fix Laptop OS problem
$ task add Clean living room
$ task add Pay Internet bill
$ task add Recharge mobile

同样,您可以添加要管理的任意数量的任务。

查看任务

要查看可用任务列表,请运行:

$ task list

或者,

$ task ls

样本输出:

ID Description 
 3 Clean living room
 2 Fix Laptop OS problem 
 4 Pay Internet bill
 5 Recharge mobile 
 1 Write a guide about Taskwarrior

5 tasks

正如你在上面看到的,我们总共有五个任务。

它为您提供了每个任务的快速概览,包括其 ID、优先级和描述。 您还可以通过运行以下命令查看每个任务的详细信息:

$ task long

样本输出:

ID Created Mod Description 
 5 2017-04-06 1min Recharge mobile
 4 2017-04-06 1min Pay Internet bill 
 3 2017-04-06 1min Clean living room
 2 2017-04-06 1min Fix Laptop OS problem 
 1 2017-04-06 1min Write a guide about Taskwarrior

上面的命令为您提供了每个任务的倒计时、年龄和标签。

要查看特定任务,您可以将任务 ID 与以下命令一起使用:

$ task <Task-ID-Number> info

例子:

$ task 5 info

样本输出:

Name Value 
ID   5
Description Recharge mobile 
Status Pending
Entered 2017-04-06 17:45:59 (2min) 
Last modified 2017-04-06 17:45:59 (2min)
Virtual tags PENDING READY UNBLOCKED LATEST 
UUID 8c4ab173-df08-4b61-b813-f5eb0042b930
Urgency 0

为任务添加优先级

有时我们需要先完成重要的任务。 因此,我们可以为此类任务添加优先级。 Taskwarrior 优先级参数具有三个值,如下所述。

  • H – 高优先级
  • M – 中
  • L – 低。

您可以根据任务的重要性为任务添加优先级。

$ task add priority:H Buy Groceries

要创建具有中低优先级的任务,请使用 ‘M’‘L’ 分别标志。

为任务添加标签

有时,为任务添加标签是一种很好的做法,这样您就可以快速找到单个或组任务。

请参阅以下内容 example.

$ task add +household Buy Groceries

要列出包含特定标签的任务,请运行:

$ task list +household

样本输出:

ID Age Tags Description Urg 
 7 43s household Buy Groceries 0.8

1 task

您还可以将多个标签添加到单个任务,如下所示。

$ task add +tamil +language Learn Tamil Language

为任务添加注释

Taskwarrior 还允许您为任务添加注释。

$ task 8 annotate Start learning Tamil alphabets

样本输出:

Annotating task 8 'Learn Tamil Language'.
Annotated 1 task.

将任务分组到一个项目中

将任务分组到类别或项目中始终是一种好习惯。 它使您可以更轻松地开始一组任务或完成一组任务。

看下面 example 了解如何将任务分组到项目中。

$ task add "Buy Groceries" project:personal +household

样本输出:

Created task 10.
The project 'personal' has changed. Project 'personal' is 0% complete (1 task remaining).

添加另一个任务。

$ task add "Clean living room" project:personal +household

样本输出:

Created task 11.
The project 'personal' has changed. Project 'personal' is 0% complete (2 of 2 tasks remaining).

正如你在上面看到的 example,我已将两个任务添加到标记为“个人”的单个项目中,并将它们标记为“家庭”。 现在,我们可以轻松地按项目名称过滤任务,如下所示。

$ task burndown.daily project:personal

样本输出:

我们还可以按周分解任务进度,如下所示。

$ task burndown.weekly project:personal

这将有助于了解您在工作中的表现。

为任务分配截止日期

有些任务需要立即完成,有些可以等待。 Taskwarrior 带有内置关键字,例如 明天, 今天, 总有一天.

要设置某个任务的到期时间,请运行:

$ task add Fix Laptop OS problem due:today

以上任务需要完成 今天. 同样,您可以将下周设置为截止日期,如下所示。

$ task add Fix Laptop OS problem due:'1week'

从现在起 1 个月到期:

$ task add Fix Laptop OS problem due:'1month'

在特定日期到期:

$ task add Fix Laptop OS problem due:due:2017-04-30

截止日期过后,任务将被标记为 准备好 虚拟标签。

您可以使用以下命令检查这些任务:

$ task ready

要从特定任务中删除截止日期,请运行:

$ task 1 modify due:

上面的命令删除了任务ID的截止日期 1. 有关截止日期的更多详细信息,请查看 这个链接.

编辑和修改任务

要编辑任务的属性,请运行:

$ task 1 edit

此命令将在默认编辑器中打开指定的任务。 因此,您可以手动编辑该任务的属性。

您可以使用而不是编辑任务 任务 修改 命令来修改特定任务的某个属性。

要修改任务,请运行:

$ task 2 modify priority:L

上述命令会将任务 2 的优先级修改为 LOW。

此外,您可以更改特定任务的截止日期,如下所示。

$ task 1 modify due:5d

此命令将任务的截止日期设置为从现在起 1 到 5 天。

开始任务

Taskwarrior 有助于找到您当前正在处理的任务。 要跟踪您当前正在处理的任务,只需将它们标记为活动,如下所示。

$ task 1 start
$ task 2 start

上述命令将启动任务。 您可以通过运行“任务列表”命令查看活动任务列表。

$ task list

样本输出:

使用 taskwarrior 列出任务

正如您在上面的输出中看到的,所有活动任务都被突出显示,这使得识别它们变得更容易。

要停止活动任务,只需运行:

$ task 1 stop

这将停止任务 ID 1。您可以在所有任务完成后停止它们。

搜索任务

您可以使用正则表达式搜索特定任务。

说为 example,以下命令显示包含单词“泰米尔语”的任务。

$ task '/.* Tamil/' list

样本输出:

ID Age Tags Description Urg 
 8 56min language tamil Learn Tamil Language [1] 1.7

1 task

完成任务

要将任务标记为已完成,请运行:

$ task 1 done

样本输出:

Completed task 1 'Write a guide about Taskwarrior'.
Completed 1 task.

现在,您可以使用以下命令查看剩余任务列表:

$ task next

删除任务

我不需要特别的,怎么办? 只需删除它。

要删除任务,请运行:

$ task 10 delete

确认删除指定任务。

Delete task 10 'Fix Laptop OS problem'? (yes/no) yes
Deleting task 10 'Fix Laptop OS problem'.
Deleted 1 task.

我需要知道到目前为止我完成了多少任务。 没问题! 使用此命令显示时间表。

$ task timesheet

样本输出:

2017-04-02 - 2017-04-08
 Completed (2 tasks)
 Project Due Description 
 Write a guide about Taskwarrior
 Fix Laptop OS problem

Started (0 tasks)

重复任务

有些任务需要每天或每周完成。 说为 example这个命令会提醒我周五打扫客厅要在周六之前完成,Taskwarrior 会提醒我每周做一次

$ task add Clean living room due:'Saturday' wait:'Friday' recur:'1week'

并且,下面的命令会提醒我在每个月底,每个月支付互联网账单。

$ task add due:eom recur:monthly Pay Internet bill

到目前为止所编写的命令足以让您开始使用 Taskwarrior。 然而,还有更多。 我建议您参考手册页以获取有关 Taskwarior 的更多详细信息。

$ man task

另外,检查 Taskwarrior 文档页面 了解更多提示。

下载免费备忘单:“Linux 命令行备忘单”

结论

您现在知道如何使用 Taskwarrior 从命令行添加、查看、管理和删除任务。 就我测试这个实用程序而言,Taskwarrior 是那些将大部分时间花在命令行上的人的完美 TODO 任务管理器。 它是轻量级、快速且完美的命令行实用程序,可以有效地完成工作并让您个人和专业地组织起来。 试一试,你不会失望的。

资源: