GTD with vimUsing an outliner in VIM with dynamic todo
lists
Having been a pretty devoted user of GTD for a
bit now, I felt the need to further modify things to suit my own way of doing
things.
I had been using two main files, a nextAction.otl and a projects.otl file. Both are text files I edit with Vim and the otl extension reflects that they are outline format and hence Vim should use the vim outliner file type plugin. In the nextAction.otl file, projects (or subprojects) are headings and the next action items are children of those headings. This seemed like an efficient way to organize things, at least from the perspective of getting things in the system. With TVO one can easily fold (collapse) headings to get the "big picture" and to quickly move across projects. Where this system seemed a bit dicy for me was in deciding which of the nextActions was really THE nextAction? The GTD bible gives one the admonition to trust one's intuition, and I kinda liked that. At first. And then, only in those rare moments when you have ample time to reflect and let your intuition pipe up. This started being not such a good strategy for me. I was spending way too much time trying to parse my nextActions list to pick the particular item to do next. Basically, it seemed I was reassessing the priorities and time needed for each of these items, each time I was deciding what to focus on next. Something had to give - I needed something (like a sorted todo list) that I could look at and immediately know what I should be doing next, given the amount of time I have and the tools. In other words I needed context. My first attempt was to embed a simple token like @email @5m within a particular item and then use grep to pull out say all the emails, or any task that would take no more than 10 minutes, or other types of variations. This worked, but was a bit too kludgy, even for me. I then stumbled on pyGTD and gave it a try. Very nicely done, but it wasn't exactly what I wanted, so I rolled my own borrowing from the key point in pyGTD to integrate importance and urgency into a prioritization scheme. A second change I made was to have the todo list sectioned according to context (i.e., comp=Computer, email, home, etc.) and within each context further classify items by time requirements: short items (<=10 minutes), medium (10-60) and long (>60 min). Within each of these groups items are then sorted by priority (a function of urgency and importance). I add and modify next actions in my nextAction.otl file. I have a simple python script that parses this file and then generates a todo.otl file with the contexts, time and prioritized nextAction items. To wrap all this together I added a couple of key mappings to my .vimrc file so that I can dynamically regenerate my todo.otl file and reload it without leaving VIM. When I finish a task I simply delete it from the nextAction.otl file. I never edit the todo.otl file as it is regenerated on the fly. The todo.otl file looks like:
The syntax coloring is driven by the TVO plugin in VIM. The red items are the contexts, blue summarizes the total number of items within a context and the green entries are the sorted nextActions. In the screenshot, the grey lines (such as line 7) are actually folds that contain further detail (context) and can be exploded within VIM. So now life is simpler. I only have to decide what context I'm currently in (i.e., where I'm at and how much time I have) and then look at that section of my todo.otl file and work my way through the prioritized items. Posted: Tue - April 19, 2005 at 02:25 PM |
Quick Links
Calendar
Categories
Archives
XML/RSS Feed
Counter
Statistics
Total entries in this blog:
Total entries in this category: Published On: May 09, 2005 01:51 PM |
||||||||||||||