Open Source Musings The thoughts, ideas, and opinions of an open source guy

Manage your tasks like a geek with Emacs org-mode

A handwritten task list

(Note: This post was originally published, in a slightly different form, at Notes From a Floating Life, and appears here via a CC-BY-SA 4.0 license.)

Over the years, I’ve flirted time and time again with Emacs. Emacs, for those of you who don’t know it, is a popular text editor. I’ve been using Emacs on and off since the late 1990s, and for whatever reason keep coming back to it every few years.

In some ways, Emacs offends my minimalist sensibilities. Why? Emacs is big. Really big. It can do a lot more than edit text. Some people use it for just about everything — writing, creating presentations, browsing the web, email, organizing themselves, and a whole lot more. Sometimes, too much. In the colophon to his book Just A Geek, actor and writer Wil Wheaton joked that he wanted to use Emacs to write the book but couldn’t find the text editor in Emacs.

That said, Emacs does have some useful features, functions, and extensions. One of those extensions is org-mode. While I’m not a geek, I’ve used org-mode to manage my tasks and organize myself like one.

org-mode?

org-mode is an Emacs extension created by Carsten Dominik for keeping notes, maintaining TODO lists, planning projects, and authoring documents with a fast and effective plain-text system. Like Emacs itself, org-mode can do a lot. And there are people who push org-mode to its limits and beyond. I’m just not one of them …

Admittedly, org-mode is overkill for just managing your tasks. But task management is a good gateway into using org-mode to organize yourself.

A word of warning: what I’m going to discuss in this post might draw the ire of some org-mode purists or power users out there. So be it. This is the way I do things, and if that doesn’t mesh with the way they do things, then the problem doesn’t lie with me.

Before You Begin

I’m going to assume that you Emacs installed on your computer and that you know the basics of using Emacs. If you don’t, and are interested in learning, a good book is Mastering Emacs by Mickey Petersen. No, that’s not an affliate link — I don’t earn any money from recommending Petersen’s book.

Obviously, you’ll also need to install org-mode. You can learn more about installing and setting it up at the org-mode website.

Yes, it is a bit of work. But it can be worth the effort.

Getting Started

Fire up Emacs and create a new file named Tasks-Week1.org (or whatever you want to name it). I’ll be building a weekly task list in this post, but feel free to create monthly task lists. Remember to include the extension .org in the name of the file. The extension, as you might have guessed, tells Emacs it’s an org-mode file. Whenever you open a file with that extension, Emacs automatically makes the Org menu available on the menu bar.

An empty org-mode file

You have blank canvas, and now you’re ready to go.

Setting Up Your Task List

Create a set of headings for the week — Monday to Friday — by typing an asterisk, followed by the day of the week. Press CTRL+Enter to add a new heading. You’ll wind up with something that looks like this:

Headers in a task list

Next, go to the first heading in the list and then press CTRL-Enter to add an item below it. Press the Tab key on your keyboard to indent that item. This will be the first task under that heading. Repeat this for each task, and each day, in your list. You’ll wind up with a list that looks like this:

A weekly task list

As you can see, I do try to follow my own advice about focusing my task lists

To zoom in on the tasks for a specific day, collapse (or fold in org-mode speak) the other headings by clicking on a heading and pressing the Tab key on your keyboard.

Focusing on tasks by folding headings

Working with Your Task List

So, you have a task list. Now what? You might want to assign a priority to your tasks. org-mode has three priorities: A, B, and C — most important to least important. B, in case you’re wondering, is the default priority.

Assign a priority to a task by clicking on it, then pressing SHIFT-up arrow (S-up in Emacs speak) on your keyboard. Remember that B is the default priority, so you’ll need to press that combination of keys to cycle through them to find the priority that you want.

Assigning priorities to tasks

You can also add a visual cue to indicate which tasks you need to work on and which are done. To do that, click on a task in the list and press CTRL-c CTRL-t (C-c C-t in Emacs speak) on your keyboard. This marks the task as TODO. Do that again to mark it as DONE.

Working on tasks

You can also add notes to your tasks — for example, a link to a resource or a detail that will help you complete your task. To do that, position your cursor at the end of the task, then press Enter. Doing that creates an indented paragraph below the task. Type your note in that space.

A task with a note

Taking Your Task List With You

One weakness of org-mode is that your documents are stuck on your hard drive. There are a few mobile apps that claim to work with org-mode, but the only one that’s worked for me is Orgzly. I can drop by org-mode files into a synced folder in Nextcloud, and then Orgzly picks them up. Here’s what the task list I created looks like in Orgzly:

A task list as viewed in Orgzly

Is That All?

There’s a lot more you can do with task lists in org-mode, like:

  • Log the amount of time you spent on a task
  • Add tags or categories to a task
  • Breaking tasks down into sub tasks
  • Adding checkboxes to your tasks (as an alternate way of marking them as complete)

If you want to make the bullets look like actual bullets rather than asterisks, use org-bullets mode.

org-mode can definitely do more, too. I’m being vague, if only because I have no real use for a lot of the features in org-mode and can’t be bothered cluttering the hard drive that’s my brain with information I’ll probably never use.

Final Thought

As I mentioned earlier in this post, org-mode is overkill for just managing your tasks. But task management is a good gateway into using org-mode to organize yourself. You might not wind up using it in the same way as so-called power users do, but you might find that organizing yourself like a geek in org-mode is the way to go.

Thoughts? Let's start a conversation on Twitter.

Did you enjoy this post or find it useful? Then please consider supporting this blog with a micropayment via Liberapay. Thanks!