Emacs in the real world – part 2

Forget Perl’s claims, Emacs really is the Swiss Army chainsaw of the *NIX world. Join Richard Smedley for the second of a three-part series revealing how you can do most of your day-to-day tasks without leaving Emacs – from contacts and appointments to GTD, there’s an Emacs way to productivity

There are many guides online to doing GTD with Org-mode, but the simple power of TODO item trees will work for any system. Many Emacs users follow Sacha Chua’s system, outlined some years ago in her blog post, ‘A day in a life with Org’. Whatever your system, you’re likely to need to turn Inbox and projects into ‘to-do’ items, and schedule them for today, or a future date.

Review your Inbox for action items, and add them to your TODO list, using the syntax in our earlier example:

* Emails
** TODO ... :Project2:
** TODO ... :Project1:

* Phone Calls
** TODO ... :Project1:
** TODO ...

Note the syntax for :tags:. You may prefer * Project 1 headers and :email: :phone: tags for tasks.

In Chua’s case, she uses custom ~/.emacs code to allow C-c a a (org-agenda, custom command) to produce a custom view of the week, current projects, and waiting and active tasks. Adapt her code (below) to suit your own system.

(global-set-key (kbd “C-c a”) ‘org-agenda)
(setq org-agenda-custom-commands
 ‘((“a” “My custom agenda”
 ((org-agenda-list nil nil 1)
 (tags-todo “WAITING”)
 (tags-todo “-MAYBE”)))))

Getting Things Done?
GTD (Getting Things Done – ‘The Art of Stress-Free Productivity’) is David Allen’s system for shrugging off information overload, breezing through mountains of email, and making space for really getting things done.

It relies on putting information and to-do items in the right place, and reviewing and responding in a timely fashion. No software is necessary, and the system was developed before the spread of the personal computer– and many devotees use no more than a paper notebook or collection of small paper file cards.
Nevertheless, it’s no surprise that many apps and web services for GTD have appeared – and heavy Emacs users seem to include many who follow this “new cult for the info age” as Wired called it five years ago. Experienced GTDers will see the potential of Org-mode for the list and action-based system, but the internet contains a number of articles further refining both GTD and Org-mode together to chase that impossible dream of a perfect system of organisation.

In the Scrum
GTD is not the only way of getting things done, and Org-mode will adapt to many methodologies, but if you’re using Scrum (an ‘agile approach to handling complex projects’) then take a look at epm-mode, based on Emacs Muse.

Going further
Org-babel, an extension to Org-mode, has been integrated into the latest Org-mode (version 7.0). Org-babel allows the execution of source code within Org-mode docs. The list of supported languages is both quirky and comprehensive, and data collection and analysis is one area where this could be most useful (R is one of the supported languages).

Babel is also useful if you’re using Org-mode to manage your dotfiles, as Greg Newman does to have his “configs in an outline structure with folding, notes, hyperlinks to documentation,” adding “and if I want to have TODOs within my configs I can allow Org-mode to add those to my agenda.”

We’ve just scratched the surface here – after all, you could fill a book with just Org-mode alone (it even has its own group on the microblogging site,!) – but we hope you’ve seen that it’s worthwhile diving in and trying Muse and Planner or Org-mode to manage tasks in good old plain text. The user documentation really is good enough to take you to the next stage with a bit of time and effort to incorporate Org-mode into your own system.

If you have to use Vim at work, you can use the script at to view and navigate folded Org-mode files. Remember, it’s just text, so you can work on them anywhere. If you have your own server on the internet, why not use a version control system, such as Git, to look after your Org files, which you can then clone to your home and work PCs and mobile devices?

After that, try snippets of custom code for your .emacs files, and then head to the projects’ mailing lists, where you’ll find some helpful people who will be delighted to see more people running their lives through their favourite text editor. Stay tuned for the final part of the series where we’ll be using Emacs as your gateway to all things internet, so load up Emacs and keep practising until then…

Click here for more tutorials from Linux User & Developer magazine, or click here to see what features in our latest batch of issues…

[twitter username=”linuxusermag”]