Emacs Weekly Tip #3: Learn Org-Mode

As my aversion to all things rodent orientated increases and my use of Emacs grows so too does my use of org-mode.

Org-Mode probably doesn’t need any introduction. It can be used for pretty much any sort of organising you require, from sketching out blog posts (this article was drafted in Org-Mode before being published to WordPress) to a full productivity and GTD suite.

The Emacs tip this week isn’t about highlighting all the useful features Org-Mode has to offer, but instead it is more of a “How-to-Learn” rather than a “How-To”.

Disclaimer: This post is based on my experience of teaching myself Org-Mode, I am not claiming that it will necessarily work for you. In other words, your mileage may vary.

I think we all first start playing around with Org-Mode using simple TODO lists, which we then change to DONE. For me whilst I dutifully tried this, it ended up being a little pointless. I already had a number of TODO lists, both on and offline, hard copy and soft. It wasn’t until I played around with the concept of linking that I really started to “get” Org-Mode. It was this linking that really helped me to delve deeper and learn.

Setup and Configuration

The first thing todo is to is to create a new directory where you will store all your org files. Most tutorials recommend ~/org but for some reason I use ~/Documents/org. Either way, get this into your favorite VCS immediately, especially if you are anything like me and work off 3 different machines.

The next step is to edit your init.el file to add some Org-Mode configuration customisations. This is my current configuration

(add-to-list 'auto-mode-alist '("\.org\'" . org-mode))
 
(global-set-key "C-cl" 'org-store-link)
(global-set-key "C-cc" 'org-capture)
(global-set-key "C-ca" 'org-agenda)
(global-set-key "C-cb" 'org-iswitchb)
 
(setq org-log-done t)
(setq org-agenda-files (list "~/Documents/org/blog.org"
"~/Documents/org/personal.org"
"~/Documents/org/jk.org"
"~/Documents/org/lu.org"
))

You can get more information on setup in the Org Manual

Learn, Slowly

As there is so much to learn with Org-Mode, it is impossible to pick it up all at once – much like Emacs itself.

The best way I found was to create an org-mode file, called something like “learn.org” and add a top level TODO item called “Learn Org-Mode [/]“. Yes, it sounds stupid I know.

Under this TODO item create a link to a new org file called something like commands.org. In this file you are going to store all the key strokes you think you’ll want to remember as you go through the learning process.

Now, in your favourite browser (w3m anyone?) open up both the Guide and Manual.

Go back to your learn.org file and under the TODO item, below the link, create a list of checkboxes, one for each of the main sections in the Guide:

  - [ ] Introduction
  - [ ] Document Structure
  - [ ] Tables
  - [ ] Hyperlinks
  - [ ] TODO Items
  - [ ] Tags
  - [ ] Properties
  - [ ] Dates and Times
  - [ ] Capture - Refile - Archive
  - [ ] Agenda Views
  - [ ] Markup
  - [ ] Exporting
  - [ ] Publishing
  - [ ] Working With Source Code
  - [ ] Miscellaneous

Now, simply go through each section in the guide, using the learn.org file as a sandbox – experimenting, playing, testing things out. If you need more detail, consult the Manual.

Two important things to note:

  1. Don’t do this all in one sitting, instead go through the sections slowly, saving your progress, going away to do some proper work and then coming back and continuing where you left off.
  2. Use the commands.org file to note down any key commands you don’t want to forget, or interesting snippets or tips that catch your eye. Again, it wouldn’t be a bad idea to organise this in the same structure as the Guide.

Use Org-Mode Every Day

If, like I do, you think Org-Mode is the bee’s knees then try to use it every day, and preferably before you finish running through the entire guide. Simply put what you have learned so far into practice. Play around with how you think it would work best for you. If you want to do GTD, you can tailor your Org-Mode for that purpose. If instead you have a load of half written blog posts that you’re very bad about finishing off, then what do you know, Org-Mode can help you organise them and regain control.

The real key is to learn and play, learn and play. But I guess that is true about most things in life.

Enjoy.