Emacs

Last substantive revision: 2017-07-18

I use the text editor GNU Emacs for various tasks that my main text editor, Vim, does not handle well.

As I have written elsewhere, Vim does a poor job of handling files with long lines. When programming or writing prose under my control, this is not a problem: the programming languages I tend to use have ways of forcing a linebreak, and markup languages like Markdown and LaTeX allow single linebreaks within paragraphs.

However, I still manage to encounter some files with long lines, most prominently when editing the English Wikipedia, where it is standard for paragraphs to consist of a single long line. For simple edits, just using the browser’s text field suffices, but for more involved editing tasks I’ve found it useful to learn Emacs. With a bit of practice, Emacs becomes much more efficient than the standard CUA keybindings will allow.

I also use Org mode. Ever since taking up contract work, I’ve found a need to schedule many tasks days or weeks in advance, to the point where I can’t keep all of it straight in my head. In junior high and high school I had used paper planners, but since I now have no artificial restriction on computer use (in school, some teachers would not allow laptops in class, and taking a laptop around to all my classes would have been annoying), it makes sense to track my tasks in a version-controlled plain text file. Prior to using Org mode, I had used a text file where lines began with the scheduled date, so that I could sort the file to make the imminent tasks “float” up to the top, but then I wanted to add intervals so that I could say something like “reschedule this task one month after I complete it” – and reasoned that there ought to be someone who automated this in a plain text environment.

I almost always use the graphical version of Emacs rather than the terminal version. This is because the terminal version is limited in multiple respects (Emacs relies on a lot of chording that doesn’t come through on a terminal emulator, the terminal version doesn’t allow mouse interaction, the terminal version makes access to the menu – which I like for modes I am not familiar with – cumbersome, doesn’t allow easy access to the system clipboard). Note that this situation is the opposite of that in Vim: in Vim, the graphical version is rather limited because it cannot access a full terminal emulator (moreover, Vim doesn’t rely on a lot of chording, allows mouse access even from the terminal, and so on, so the caveats of terminal Emacs do not apply).

You can view my init.el in my dotfiles repository.

Org mode routine

The following is how I usually use Org mode. Since I don’t know many of the more complicated features of Org mode, I tend to stick to the basics.

See also