Todo.txt – A simple yet powerful todo manager for Linux
Recently, I discrovered todo.txt, a great todo list manager for people who feel comfortable with Linux’s command line.
The greatness of this tool is in its simplicity: the whole todo list is saved as plain text, and operations like adding/removing/prioritarizing/modifying/listing items are done through a very simple command line interface supplied in a bash script.
Other interfaces are also available, like Jabber/AIM bots, so you can achieve the same functionality through Google Talk (TM) or other IM clients. However, the command line interface is the easiest/coolest/most powerful.
Using the script is easy:
1. First you need to download a single bash script and a configuration file, you can find them in a zip archive here.
2. After you unzip the archive, you need to create a todo folder in you home directory:
mkdir ~/todo
3. Then, take the .todo configuration file from the extracted archive and move it to your home directory:
mv .todo ~/.
4. Edit the .todo configuration file and change the TODO_DIR variable into ~/todo
5. You may want also to change the colors for each priority in .todo configuration file (default colors assume a dark background for your terminal).
6. Take todo.sh and move it to /usr/local/bin so you can call it from any directory:
sudo mv todo.sh /usr/local/bin/.
7. Make todo.sh excutable:
sudo chmod +x /usr/local/bin/todo.sh
8. Edit the first line in todo.sh so it looks like this:
#! /bin/bash
9. You may want to add an alias in your alias file:
alias todo=’todo.sh’
That’s it, now you can start using todo.txt:
1. To add an item to the list:
todo.sh add “Learn python”
2. It’s convenient to add tags to your items:
todo.sh add +programming “Learn python”
3. To list the items:
todo.sh list
4. To list items of a specific tag (eg. programming):
todo.sh list +programming
5. To assign a priority to an item:
todo.sh pri ITEM_NUMBER PRIORITY
where ITEM_NUMBER is the number appears to the left of the item when you use the list option, and PRIORITY is a letter between A to C (You can extend this in the configuration file).
6. To list all items with priority B:
todo.sh listpri B
7. To mark an item as done:
todo.sh do ITEM_NUMBER
8. To archive all done items into done.txt (done.txt and todo.txt live in ~/todo/ directory)
todo.sh archive
9. To replace an item:
todo.sh replace ITEM_NUMBER +programming “learn how to write python scripts”
There are few more options available, you can see them in todo.sh help:
todo.sh -h
There is also a nice video tutorial here.
Enjoy
If you enjoyed this post, make sure you subscribe to my RSS feed!No related posts.
2 Comments to Todo.txt – A simple yet powerful todo manager for Linux
Leave a Reply
About Me
Tags
Categories
- Algorithms
- Bash
- BlackBerry
- Collaboration
- Command Line
- Cool Tricks
- Easter Eggs
- Ebooks
- Firefox
- Hardware
- Humor
- iPhone
- Linux
- Linux Development
- Linux Kernel
- Networks
- Open Knowledge
- Other
- Productivity
- Programming
- Regular Expressions
- Science
- Security
- Shell Scripts
- Short Posts
- Social Networks
- Thoughts
- Tools
- Vim
- Web Development
- Websites
Popular Posts
Calendar
Archives
- September 2010 (2)
- August 2010 (2)
- July 2010 (5)
- June 2010 (1)
- May 2010 (1)
- April 2010 (3)
- March 2010 (1)
- January 2010 (1)
- December 2009 (2)
- September 2009 (13)
- July 2009 (1)
- June 2009 (6)
- May 2009 (4)
- March 2009 (18)
- February 2009 (10)
- January 2009 (10)
- December 2008 (7)
- November 2008 (8)
- October 2008 (1)
- August 2008 (1)
- July 2008 (1)
- June 2008 (1)

…or skip all of this, and:
# vi ~/todo
Done.
My guess is that you didn’t even try it.