emacs for writers: org mode

After a little messing around with interesting emacs goodies, we might as well get right on to the good stuff.

emacs uses a concept called “modes.” You’ll learn about that if you use emacs. For now, what you need to know is that there are “major modes” and “minor modes” and we’re only interested in major modes at this moment. There are several major modes that make emacs highly useful for specific purposes, and some of those modes are designed with writing in mind, such as the text-mode the outline-mode and what is known as muse-mode. But writers really want to use org-mode and not much else.

I use org-mode and html-mode for everything.


Emacs decides what mode to operate in using three different methods. The easiest and most obvious is using the extent ion of the file. This is totally configurable and you can have any extension invoke any mode, but one would normally, and by default, have emacs run in org-mode for a file with .org as the extension, and html mode for a file with .html as the extension. The second way is to have a hint in the file itself, something in the header that tells emacs to override any extensions and use a certain mode for that file. The third method is simply to tell emacs, as the user, what to do. No matter what file is open in emacs, you can invoke any major mode to operate on it (well, there may be some esoteric exceptions to that, even dangerous ones, but I can’t think of any offhand.)

Org mode is intimidating and scary and much, perhaps most of what it does will not be useful to the average user. (Or, you can use all of its features and organize your life that way… there are people who do that.) But there are some really useful things you can do with it. First and foremost for the average writer is this: You can use some basic markdown when you write (stars to designate chapter or section headings, symbols to indicate lists, basic typesetting indicators for italics, bold, etc.) and when you are ready, you press a few easy to remember keystrokes and wham, you’ve got yourself a PDF file all nice and formatted. The PDF file will include things you don’t want (like a Table of Contents, for instance) but there is an easy way to configure all of that. There is even a way to transform your text file into a word doc.

The point is, org mode is writing-friendly and then has a handful of very powerful tools. It is writing friendly simply because it is plain text and that is the friendliest way to write. Everything else is typesetting.

Org mode is also good at making hierarchical lists with checkboxes that keep track of what is done, and special checkboxes that count other checkboxes. I keep a list of all the stuff I want to write, so whenever I sit down to write I can see what I should be doing (or spend time adding or removing things from the list). So, right now, part of my list looks like this:

i-379c39c527e15e76182139dc352684db-emacsforwriters_orgmode_01.jpg

And in a few moments I’ll check off that box you see there next to the org mode post. The top of my list looks like this:

i-60a4c1543783c148750a52edd2a3b7e4-emacsforwriters_orgmode_02.jpg

And you can see that I’ve done 16 (well, now, almost 17) items out of 163 that are on my list, which I’ve only just recently given a thorough editing. When I check off the org-mode post by putting my cursor on that item and typing Ctrl-c Ctrl-c (or typing in the X if I feel like it) this number [16/163] will change to reflect the completion of one item to become [17/163]

About 30 of the items are weekly or monthly obligations I just put on the list so I can check stuff off. I like the list to be long and have very few things done on it. Then I don’t have to worry that I’m going to run out of stuff to say.

Org-mode does a lot more than I’m telling you about here, but I wanted to give you just a few highlights. The manual and other documents can be found here, and if you want to learn even more, then just click here.

Comments

  1. #1 MadScientist
    July 22, 2011

    Thanks for the tip; I’ll definitely check it out. *sigh* I guess I’ll be installing Xemacs after more than 10 years of being emacs-free. I had a peek at the org ref card and was instantly reminded of the emacs manual. Oh, such wondrous mystical keystrokes!

  2. #2 John Moeller
    July 22, 2011

    @MadScientist: You may want to install a “real” emacs instead of Xemacs. I guess that Xemacs is different enough that some emacs-lisp files don’t work properly in subtle ways. I use emacs 23 on both Windows and Linux.

    I love org-mode, it’s the first scheduling/task software that worked for me. Org-mode is one of the two reasons that I use emacs. Writing in LaTeX is the other. In emacs it’s *so* much easier than any other environment.

  3. #3 MadScientist
    July 22, 2011

    Thanks for the tip John; I dumped xemacs and am installing emacs23. Xemacs just demonstrated that I was mistaken to believe that nothing was uglier than the xfig interface.

  4. #4 John Moeller
    July 22, 2011

    Oh, and org-mode paired with Dropbox is fantastic.

  5. #5 Greg Laden
    July 22, 2011

    I’m pretty sure all the reasons one might have chosen Xemacs are obviated in current emacs.

    org mode plus dropbox is the perfect way to have your cloud and eat it too.

  6. #6 erpease
    July 23, 2011

    Thanks for the tip on org-mode. I haven’t explored it before and the orgtbl minor mode seems useful for editing dokuwiki tables (after I set up macros for converting wiki tables to org tables and vice versa). Though there are probably other ways.

    (I use the It’s All Text! addon in firefox so I can edit textarea boxes with emacs.)