---
name: "w2do"
section: "1"
platform: "linux"
package: "w2do"
version: "2.3.1-8"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/w2do"
---

# w2do(1)

a simple text-based todo manager

## NAME

w2do - a simple text-based todo manager

## SYNOPSIS

**w2do** \[**-l**\] \[**-t** *task*\] \[**-g** *group*\] \[**-d** *date*\] \[**-p** *priority*\] \[**-f**\|**-u**\]

**w2do** **-a** *task* \[**-g** *group*\] \[**-d** *date*\] \[**-p** *priority*\] \[**-f**\|**-u**\]

**w2do** **-c** *id* \[**-t** *task*\] \[**-g** *group*\] \[**-d** *date*\] \[**-p** *priority*\] \[**-f**\|**-u**\]

**w2do** **-r** *id*

**w2do** \[*options*\]

## DESCRIPTION

**w2do** is a simple to use yet efficient command-line todo manager written in Perl.

## OPTIONS

### General Options

- **-l**, **--list**

  Display items in the task list. All tasks are listed by default, but desired subset can be easily selected via specifying options as well. Since listing is the default action, this option can be safely omitted.

- **-a** *task*, **--add** *task*

  Add new item with selected *task* name to the task list. When no additional specifying options are given, the group **general**, the due date **anytime** and the priority **3** is used by default and the task is marked as unfinished.

- **-c** *id*, **--change** *id*

  Change item with selected *id* in the task list. Further specifying options are required in order to take any effect.

- **-r** *id*, **--remove** *id*

  Remove item with selected *id* from the task list.

- **--change-group** *group*

  Change all items in the selected *group*. Further specifying options are required in order to take any effect.

- **--remove-group** *group*

  Remove all items from the selected *group*.

- **--purge-group** *group*

  Remove all finished items from the selected *group*.

- **--change-date** *date*

  Change all items with selected due *date*. Further specifying options are required in order to take any effect.

- **--remove-date** *date*

  Remove all items with selected due *date*.

- **--purge-date** *date*

  Remove all finished items with selected due *date*.

- **--change-pri** *priority*

  Change all items with selected *priority*. Further specifying options are required in order to take any effect.

- **--remove-pri** *priority*

  Remove all items with selected *priority*.

- **--purge-pri** *priority*

  Remove all finished items with selected *priority*.

- **--change-old**

  Change all items with passed due date. Further specifying options are required in order to take any effect.

- **--remove-old**

  Remove all items with passed due date.

- **--purge-old**

  Remove all finished items with passed due date.

- **--change-all**

  Change all items in the task list. Further specifying options are required in order to take any effect.

- **--remove-all**

  Remove all items from the task list.

- **--purge-all**

  Remove all finished items from the task list.

- **--undo**

  Revert last action. When invoked, the data are restored from the backup file (i.e. `"~/.w2do.bak"` by default), which is deleted at the same time.

- **--groups**

  Display comma-delimited list of all groups in the task list.

- **--stats**

  Display detailed task list statistics.

- **-h**, **--help**

  Display help message and exit.

- **-v**, **--version**

  Display version information and exit.

### Specifying Options

- **-t** *task*, **--task** *task*

  Specify the *task* name.

- **-g** *group*, **--group** *group*

  Specify the *group* name. The group name should be a single word with maximum of 10 characters, but longer names are shortened automatically.

- **-d** *date*, **--date** *date*

  Specify the due *date*. Available options are **anytime**, **today**, **yesterday**, **tomorrow**, **month**, **year**, or an exact date in the YYYY-MM-DD format, e.g. 2008-06-17 for 17 June 2008.

- **-p** *priority*, **--priority** *priority*

  Specify the *priority*. Available options are integers between **1** and **5**, where 1 represents the highest priority.

- **-f**, **--finished**

  Specify the finished task.

- **-u**, **--unfinished**

  Specify the unfinished task.

### Additional Options

- **-s** *file*, **--savefile** *file*

  Use selected *file* instead of the default `"~/.w2do"` as a save file.

- **-w** *width*, **--width** *width*

  Use selected line *width*; the minimal value is **75**.

- **-q**, **--quiet**

  Avoid displaying messages that are not necessary.

- **-V**, **--verbose**

  Display all messages; this is the default option.

- **-C**, **--colour**, **--color**

  Use coloured output instead of the default plain text version.

- **-X**, **--no-colour**, **--no-color**

  Use plain text output (no colours); this is the default option.

- **-b**, **--bare**

  Do not display table header and group separators.

- **-B**, **--no-bare**

  Display table header and group separators; the default option.

- **-I**, **--no-id**

  Do not display ID column in the listing.

- **--with-id**

  Display ID column in the listing; the default option.

- **-G**, **--no-group**

  Do not display group column in the listing.

- **--with-group**

  Display group column in the listing; the default option.

- **-D**, **--no-date**

  Do not display due date column in the listing.

- **--with-date**

  Display due date column in the listing; the default option.

- **-P**, **--no-priority**

  Do not display priority column in the listing.

- **--with-priority**

  Display priority column in the listing; the default option.

- **-S**, **--no-state**

  Do not display state column in the listing.

- **--with-state**

  Display state column in the listing; the default option.

## ENVIRONMENT

- **W2DO\_SAVEFILE**

  Use selected file instead of the default `"~/.w2do"` as a save file.

- **W2DO\_WIDTH**

  Use selected line width; the minimal value is **75**.

## FILES

- *~/.w2do*

  Default save file.

- *~/.w2do.bak*

  Default backup file.

## SEE ALSO

[**w2html**(1)](/w2html/1.md), [**w2text**(1)](/w2text/1.md), [**perl**(1)](/perl/1.md).

## BUGS

To report bugs or even send patches, you can either add new issue to the project bugtracker at \<http://code.google.com/p/w2do/issues/\>, visit the discussion group at \<http://groups.google.com/group/w2do/\>, or you can contact the author directly via e-mail.

## AUTHOR

Written by Jaromir Hradilek \<jhradilek@gmail.com\>.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.

A copy of the license is included as a file called FDL in the main directory of the w2do source package.

## COPYRIGHT

Copyright (C) 2008, 2009, 2010 Jaromir Hradilek

This program is free software; see the source for copying conditions. It is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
