Emacs
Added 31 Jul 2008
This is not going to be another Emacs tutorial that explains what keys you have to press to do XY. This wouldn’t make that much sense, because of the way Emacs was designed. The very most relevant argument for using Emacs is it’s extreme extensibility: It is not simply a scriptable text editor, but a construction kit for building editors.
So Emacs can use a modal approach like Vi(m) has them. It may be a slim tool that takes less than a second to load, or a full operating environment that takes a several seconds long startup time. Pressing the i key could write the letter ‘i’ into a text buffer, switch you to insertion mode or nuke the Vatican. Changing Emacs to act exactly as you want is how Emacs is supposed to be used. If there is a feature that you are missing, you will find it on the web. And if what you want is so special that no one did it before, you can hack it into Emacs yourself.
So it makes little sense to talk about the standard configuration and features that come with a fresh installation.
I’m also not going to list cool features that Emacs does nor will I give you tips on how to use it. Instead of repeating what others already wrote many many times before, I will add some links to tutorials, essays and communities at the end.
This article is about the first thing you want to know about Emacs: “Why do people care?”. I will try to explain why many are so dedicated to text editing that they keep writing about it and why they prefer a 25 years old tool over any other text editor.
Editing Text
If you do something very frequently, even the smallest shortcut will save you a lot of time in the end. And because editing text is one of the most frequent things people do with computers, it makes sense to optimize this task as much as possible. Editing text is such a common task that there are endless ways to make you more productive. And you will continue to write and edit text for many, many years, so even if it takes you a while to figure out how you can improve that one task you keep doing, it will still save you time in the long run.
Of course, even if mostly everyone who uses a computer writes a lot of text, not everyone will want to learn such a complex tool as Emacs. The time you spend can be worth it, yes, but not for everybody.
One very important requirement is that you use a single text editor as much as you can. You might hack a whole book each day into your keyboard, but if you write that letter in word, that 10 emails in Thunderbird and use the text area in your web browser to compose blogs, you will find yourself using half a dozen different editors. And because they are all written by different people for different tasks, the only things you can rely on is a very small subset of common features.
I write nearly every longer text in the same editor. As soon as I realize this is going to be more but a few sentences, I compose my Emails, Essays, Papers, Letters, Source Code, Instant Messages, Blog Posts, Wiki Pages, Bug Reports and so on in Emacs. After I’m done, I copy it to my browser, my word processor,… I’m not lying to you, there are exceptions. I produce most of my Java code in Eclipse, which really sucks at text editing but has other features that keep me from using Emacs.
Every now and then, I review the way I work. I search for tasks that require a lot of repetition and evaluate the options I have to automate this process. If there is a solution that will cost me a reasonable amount of time, I implement the solution. First into my tool, then into my daily routine.