I’m coming up on year four of using a plain
todo.txt file and a simple bash script to manage my daily tasks in it, and I still love the CLI simplicity. But this year I’m juggling several different projects, and needed an easy way to see my todo list separated into sub-lists by project. Happily, the Todo.txt CLI is now extensible, which means several handy add-ons can make it do all sorts of things not included in the core script. One of my favorites is the
Projectview lists your todo.txt by project (which you notate with the
+ProjectName format in each task). Here’s what a regular listing of some of my current todo’s looks like, and then what
todo.sh ls command (which I’ve aliased to
t ls) outputs something like this:
There you can see I’ve got tasks prioritized and color-coded, with contexts listed with an @ sign (like @email and @github) and projects listed with a + sign (like +Smarterware and +ThinkTank). This is a fine view if you just want to tackle items based on priority alone, but not as well when you have a long list and want to make sure you’re moving along individual projects. Here’s where
projectview comes in.
With it installed, running a
todo.sh projectview command (to save keystrokes, I’ve aliased it to
t pv), I get this:
There you can see each project gets its own sub-heading, and then lists tasks associated with it underneath. If a task applies to more than one project projects–like #4 in my screenshots–it gets listed in each. Tasks not associated with a project get listed last.
Of course, if you just want to look at a single project’s task list, you can always do a
t ls +ProjectName command, no add-on required.
Once you’ve got the Todo.txt CLI installed (version 1.5 just released last night!), download projectview into your
~/.todo/actions/ directory and make it executable to start using it. Thanks a million to Paul Mansfield for this useful add-on; here’s a directory of more Todo.txt CLI add-ons for your command line pleasure.
For quick video primer on what life is like with todo.txt at the command line, check out a screencast.
Ever tried Google’s Todo list in combination with the Tasks extension in Google Chrome? It has nested tasks ability and even seperate lists if you want to. When you have the extension you can “extend to canvas” and it becomes a nice tab with extra features.
If I used a web-based task manager, most likely it would be Remember the Milk–but Gmail Tasks are pretty great too. (Especially that you can turn a message into a task.)
But, at this point, I’ve gotten so used to using todo.txt, I probably won’t ever switch. It’s awesome having 4 years of completed work in my done.txt file, which I can grep at any time to look back. But also not so awesome when I want to check my list on the go. To each her/his own, I say.
Thanks for sharing this! I’m a newbie to Unix and todo.txt, so could you share how you aliased t pv?
I have todo.sh aliased to t (per the todo.txt online documentation), but I’m not sure what to do for t pv.
@Tim: I should’ve worded that differently–I simply renamed the projectview file pv. So simple
mv projectview pv
will do. 🙂
Gotcha–that worked like a charm.
I just moved to Android via the Nexus One from over three years of iPhone.
I want to start moving toward a to-do list / GTD sort of approach and wondered how you integrate this system on Android (if at all)?
Thanks in advance!
I was wondering, Gina, if you’re a GTDer or not. Because, if you are a GTDer, how do you implement GTD in that Todo.txt file?
Any how do you access and edit it on your mobile device?
Hi Gina, I wanted to thank you for posting not only the project view piece, but the text based todo script. I’d been struggling with a way to manage my todo list on the computer, and this (now in practice since you posted it), seems to be the best possible way.
I had checked out things and omnifocus, but the steep price tag and iffy sync with the iphone put me off.
I’ve got the todo shell scripts integrated with geektool on my mac, so it updates on my desktop nice and cleanly, and set up a context view after editing the projectview script. Works wonderfully. I try to work by context, as it keeps me better focused.
Sadly the iphone notes are impossible to manipulate (its a database, not flat files), so I’ve set up a read-only reference for my phone by setting up a cron job on my mac that emails my gmail (skips the inbox to a todo folder), so I have a very current copy of my todo on the go.
Anyone have any better solutions for syncing text files on the iphone?
For others wondering about aliasing “t pv”, besides the above you can always use:
“ln -s projectview pv”
to create a symbolic link, allowing you to use either “t projectview” or “t pv”
I’m really enjoying todo.txt cli, and projectview is a great addition!