todo.txt is a simple and popular method to manage your todo list. I like this method because it uses a simple text file and so simple scripts or programs can be used as TODO list managers. This method was popularized by Gina Trapani, who also created a
todo.sh shell script to manage the todo list. I found the shell script a bit wanting in features, so I use ya-todo-py instead.
ya-todo-py is a todo.txt manager written in Python. You can get it from its Github repository here. You can either run its setup.py script to install it or just stash it somewhere.
- To run the
todo.pyscript, provide the location of a directory where it can store its
$ todo.py --todo-dir /path/to/todotxt/dir
By default, this will list the items in your todo list sorted alphabetically.
- Tasks sorted by name is useless for me. So, I view the todo list items sorted by number:
$ todo.py --todo-dir /path/to/todotxt/dir -n
- For ease of use, you may want to make an alias of your command with all the options. For the Fish shell, I added this alias:
function todo todo.py --todo-dir /path/to/todotxt/dir -n $argv end
- Operations I commonly use:
# List tasks $ todo # Add task $ todo add "Pick up bread and milk" # Complete task 4 $ todo do 4 # Remove task 3 $ todo rm 3
- You can add tags, categories or projects to a task, by using your own convention. You can do this by using special characters. For example, I use plus symbol for tagging:
# Add task with read tag $ todo add "Study Nature paper +read" # To list all tasks with +read $ todo ls +read
- The script has other command options, which can be seen by using the
Tried with: Python 2.7.6 and Ubuntu 14.04