Taskwarrior-命令行TODO Task Manager应用程序

时间:2020-03-21 11:48:24  来源:igfitidea点击:

我找到了一个有用的命令行TODO任务管理器应用程序,名为“ Taskwarrior”。
它是一个免费的开源实用程序,可从命令行管理TODO列表。
它是一种高效,灵活,快速且简洁的工具。
我们可以添加各种任务,例如每天,每周,每月的杂务,个人目标,与官员相关的工作,家庭活动,并像在命令行中那样由专业人士进行管理。

当然,有许多基于GUI的任务管理器,Web应用程序可用。
我选择此实用程序的原因是我以前通常在命令行上工作。
它可以帮助我尽快完成工作,并且可以使我在工作和家庭中井井有条。
简而言之,它会尽力而为。
在本教程中,将介绍如何在类似Unix的操作系统中使用Taskwarrior有效地管理任务。
继续阅读。

Taskwarrior-Linux中的命令行TODO Task Manager

安装

大多数现代Linux操作系统的默认存储库中都提供Taskwarrior。

在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

用法

Taskwarrior的使用并不重要。
我们可以在几天之内学习所有命令。
我将仅介绍最常用的命令。

在开始使用它之前,请运行task命令创建一个~/.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 2016-04-06 1min Recharge mobile
 4 2016-04-06 1min Pay Internet bill 
 3 2016-04-06 1min Clean living room
 2 2016-04-06 1min Fix Laptop OS problem 
 1 2016-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 2016-04-06 17:45:59 (2min) 
Last modified 2016-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”标志。

将标签添加到任务

有时,将标记添加到任务是一种很好的做法,因此我们可以快速找到单个或者组任务。

请参见以下示例。

$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.

将任务分组到一个项目中

将任务分为类别或者项目始终是一个好习惯。
它使我们轻松开始一组任务或者完成一组任务。

查看以下示例,以了解如何将任务分组到项目中。

$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).

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

$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:2016-04-30

到期日期过后,将使用READY虚拟标记对任务进行标记。

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

$task ready

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

$task 1 modify due:

上面的命令删除任务ID 1的截止日期。
有关截止日期的更多详细信息,请检查此链接。

编辑和修改任务

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

$task 1 edit

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

我们可以使用任务<ID> Modify命令来修改特定任务的某些属性,而不是编辑任务。

要修改任务,请运行:

$task 2 modify priority:L

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

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

$task 1 modify due:5d

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

开始任务

Taskwarrior查找当前正在处理的任务。
要跟踪当前正在处理的任务,只需将它们标记为活动状态,如下所示。

$task 1 start
$task 2 start

上面的命令将启动任务。
我们可以通过运行“任务列表”命令来查看活动任务的列表。

$task list

输出示例:

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

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

$task 1 stop

这将停止任务ID1.
我们可以在完成所有任务后停止它们。

搜索任务

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

例如,以下命令显示包含单词“ Tamil”的任务。

$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

输出示例:

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

重复性任务

有些任务需要每天或者每周完成。
举例来说,此命令将提醒我在周五打扫客厅,然后在星期六进行清洁,而Taskwarrior会提醒我每周进行一次清洁

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

并且,以下命令将提醒我在每个月的月底支付Internet账单。

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

到目前为止,正确执行的命令足以使我们开始使用Taskwarrior。
但是,还有更多。
我建议我们参考手册页以获取有关Taskwarior的更多详细信息。

$man task