Why I use emacs

To be honest, I first started learning it as a way to get used to moving my cursor around the shell to edit and search for shell commands. A Linode tutorial mentioned they were largely the same commands so doubling up on them seemed to me to be the fastest way to master them. Mac’s also use some basic shell commands almost universally (like Control-a for home, C-e for end, C-b for back one space and C-f for forward one space). Finally, most well developed editors have Emacs keybinding support to some extent so you can be productive in those environments immediately.

Emacs was initially frustrating because I had the expectation that software should be usable without having to read tutorials or documentation. When I was unable to exit out of emacs after trying numerous key combinations, I finally broke down and started the tutorial. It turns out that once you know how to save (Control-x C-s) and exit (C-x C-c), it pretty much acts like a normal editor with arrow keys and enter all doing what you expect.

The barrier to entry is even lower on the GUI version which has menus you can click around. The menus even explain what the shortcuts are so you can eventually give up the mouse entirely.

One particular feature I love about emacs is its macro recording system. I can’t tell you how many times keyboard macros have saved me lots of time. They are a lot easier than hacking together a text processing script for a one off edit. Pressing F3 starts recording, F4 stops recording and F4 also replays the recorded key sequence. Meta(alt)-[number] F4 repeats the command a number of times.

Despite all these benefits, I continued to sit the fence between vim, emacs, and gui editors like eclipse until I heard about org-mode. I had been looking for way to quickly organize and maintain large amounts of information for a long time. Org-mode is that and more. Expanding and collapsing information, organizing it hierarchically, instantly searching and navigating a huge corpus of notes, moving nodes from one parent to another, and much more can all easily be done in one or 2 keystrokes. Once you are done organizing the information you can export it to many different formats (especially using pandoc). Org-mode, great as it is, is only one example of Emacs’ killer features that made me switch whole hog – Extensibility and Community.

But these features are also a double edge swords. Its extensibility makes learning how to make changes a difficult process for the uninitiated. Its community is so focused on customizability that the defaults that are shipped are not sufficient to enable productivity. However, this is nothing a good video tutorial can’t fix. And pair that with some googling skills and you’re off to the races.

Here are some video tutorials to get you started: