Fist of Senn

a developer's notebook

Gear Up - Get Started With Emacs

The editor discussion is always a hot topic. At the moment vim is making the comeback in the rails scene. While many people try to make a case for vim or Sublime Text 2, this article focuses on Emacs.

First of, you should use the tools, which make you the most productive. We are software developers and as such we should learn how to use our tools to become more productive. In my opinion it’s not about what tools you use but how you use them.

Emacs is an environment that you can tailor to your workflow. Over the years you will shape it to fit your needs and adjust to new challenges (new programming languages, new version control systems, etc…) but before you jump into Emacs, there are a few things you should consider:

  • Emacs is not “the one and only tool” there are glitches and strange behavior
  • Emacs does not adhere to system standards. It won’t feel like a native application
  • Emacs has a very minimal interface. It’s all about text
  • Emacs is about the keyboard not the mouse

What do I need to get started

Of course you need to install Emacs. Have a look at these installation guides for Emacs 24. If you are new to Emacs I recommend that you start out with a configuration kit:

Cabbage

Since I am developing cabbage I am a bit biased. It’s a good configuration to get you started with ruby, python, javascript and java. We have support for other languages but those are our primary focus at the moment.

Prelude

This configuration was written by Bozhidar Batsov and you can find more information on the Prelude project page

Emacs Starter Kit

The starter kit has been around for several years and was developed by Phil Hagelberg. Check out the github project to find more details.

Once you have Emacs installed and your configuration in place, the only thing you need is a little time. Emacs has a learning curve but its nowhere as steep as with vim. You don’t need to know that much to reach a productive level:

  • You can still navigate using the arrow-keys
  • You can use the mouse to select text
  • You don’t have to remember different modes to select, navigate and edit text.

First steps with Emacs

In order to work with Emacs you need to know a few things from the start. You can close the editor with C-x C-c (control-x followed by control-c, you don’t need to release control after pressing x)

Get used to the built-in help system, while it may feel odd at first the documentation of Emacs is very good and you can lookup most things without leaving the editor. You can open a tutorial with C-h t, you can display the documentation for any key combination with C-h k <key sequence> and you can display the documentation for any particular function using C-h f

I recommend that you skim through some basic chapters in the Emacs Manual. This explains the Emacs vocabulary and the basic constructs you will be working with. If you don’t want to skim the whole manual I’ve extracted some key chapters:

General

Screen, User-Input

Editing

Basic, Minibuffer, M-x, Help

Text

Mark, Killing, Search

Structures

Files, Buffers, Windows

Need help, got questions?

You can find help in the #Emacs irc channel on freenode, there is also a Google Group for help related topics and feel free to leave a comment or send me an email if you have troubles.

Comments