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:
Emacs Starter Kit
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
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:
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.