Here's a really simple technique for managing short-term to-do lists in Emacs with outline-mode.

I start the day by creating a new to-do flie in outline-mode. I use different outline levels to keep tasks organized by area. Since I have font-lock-mode enabled by default, all of my tasks end up in various colors. When I complete a task, I simply prepend a space to that line in the file. As Emacs no longer considers the line an outline heading, it loses its highlighting, thus marking the task done.

For instance, here's what today's to-do list looked like at some point this afternoon:


There are certainly more featureful ways to manage your to-do items, but this is an exceptionally simple method for handling more ad-hoc tasks that come up during the day's Emacsing.


  1. There may certainly be more featureful ways to manage to-do items, but only this bumped up my productivity significantly. Thank you so much for sharing it.

    I use it with this variation: I write task titles without a bullet (so they remain gray), then list task parts with bullets, where bullet levels don't describe a task-subtask-subsubtask relationship but a priority. "Urgent" tasks get three bullets, "to do next" tasks get two, "to do later" get one. This is convenient with the default outline-mode face colors (at least in the terminal) where a three-bullets item is displayed in a bold cyan that jumps right at my eyes, and finding the next important thing to do in a long list is a matter of `C-s *** RET'. Then I just prepend a space to the line as you describe when the task is completed.

    (Also thanks for mentioning MozRepl.)

    hyperstruct, 1 May 2006