I think, therefore I blog

The Ultimate VIM TODO List

By , 9 August 2012

The Ultimate VIM TODO List
The Ultimate VIM TODO List

With a TODO list of over 500 items I clearly need advanced software to manage my tasks. And finally I have found just the tool for the job...


After trying web based project trackers, spreadsheets, desktop project management apps, calendar based, email-based, smartphone apps and everything else I could think of, it looks like I'll be sticking with my plain text todo file with a couple of handy VIM scripts.

Here's how it works.

The Ultimate VIM TODO List

My todo.txt is just a tab-separated text file that looks something like this:

1	8	roger	tax return
1	12	seo	keyword tools
1	20	web	single domain login access
2	1	blog	ultimate VIM TODO list
2	2	web	settings page broken
2	2	cms	http://en.wikipedia.org/wiki/Website_builder
3	3	blog	glassfish-vs-tomcat-update.txt
3	5	blog	enums in jsf

The first column is priority and the second is a time estimate in hours. I sort by priority then time by using the following VIM command.

:%!sort -k1,1n -k2,2n -s

Which I map to a custom command (S) in my .vimrc file:

:command S %!sort -k1,1n -k2,2n -s

Using a plain text file for my TODO list is the simplest and fastest way I found to manage my jobs. With VIM I can add tasks anywhere in the list and then use VIMs powerful commands to sort, search and filter my tasks. If I ever need to I can also open up my list in a spreadsheet program, although so far I haven't had to do that.

Give it a try, or let me know if you think you have a better task management system in the comments below.


About Roger Keays

The Ultimate VIM TODO List

Roger Keays is an artist, an engineer, and a student of life. Since he left Australia in 2009, he has been living as a digital nomad in over 40 different countries around the world. Roger is addicted to surfing. His other interests are music, psychology, languages, and finding good food. Click here to subscribe to his weekly blog, or stalk him on Facebook and Twitter.

Leave a Comment

Please visit https://RogerKeays.com/the-ultimate-vim-todo-list to add your comments.

Comment posted by: , 2 years ago

For the record, I no longer use VIM for task management. I'm now using an Android app I built called "The Game Of Your Life". The app is built on principles of psychology and uses Quests, Bounties, and Rewards to motivate you to complete tasks. Bounties are sorted automatically using the formula priority = (benefit * urgency / cost) so you don't waste time on pointless tasks.

Definitely worth checking out if you have an android phone - or even if you don't you could easily build something similar using a spreadsheet. As for subtasks in VIM - code folding is your friend :)

Comment posted by: Mindey, 2 years ago

Well, I often need subtasks, so I use a bit different format, which looks like python code :).

I'm happy with VIM task management, but for time tracking, I'd like to have an ID for each task somehow automatically inserted, so that I could reference tasks in other places.

Join 3,559 People Who Think Outside The Box

I write every Sunday about travel, psychology, technology, and all sorts of interesting stuff. It's completely free, and you can leave whenever you like. Subscribe now, and you'll be the first to get new articles each week.

Read a Good Book

“A spellbinding true story of love, passion and adventure. One can’t help but be swept away by 100% Love Guaranteed.” —Dr Tammie Matson, author of Elephant Dance.

Chat For A While

Your Vote Matters

Which animal will take over when humans go extinct?