Switching to Emacs
I’ve been trying something new this week - that fresh, modern editor knows as Emacs. Emacs itelf isn’t actually new, of course (it’s actually older than I am). Still, it’s exciting to have discovered it, just as I have previously been excited to discover vinyl records, typewriters, The Pixies, sushi, Woody Allen, Apple computers, Charles Mingus, Linux, Python, and espresso, things which had existed for years without my noticing, but which I suddenly developed an appreciation for.
Emacs had always been one of those things that I vaguely knew I might want to try eventually, but never had. Previously I’d gotten as far as reading “To save, type Control-x, Control-s”, and given it up as far too complicated. But I knew that a lot of smart people used Emacs, and Neal Stevenson’s description of it (from In The Beginning Was the Command Line) always stuck in my head:
It is colossal, and yet it only edits straight ASCII text files, which is to say, no fonts, no boldface, no underlining. In other words, the engineer-hours that, in the case of Microsoft Word, were devoted to features like mail merge, and the ability to embed feature-length motion pictures in corporate memoranda, were, in the case of emacs, focused with maniacal intensity on the deceptively simple-seeming problem of editing text.
So this week, when I mentioned something about text editors in a conversation with my new boss, and he suggested Emacs, I was finally ready to give it a try. Actually, I was ready to do more than give it a try - I was ready to switch to Emacs as my full-time programming environment, at least for the immediate future. It’s funny how switches go - it’s not that I was necessarily unhappy with Eclipse, which I had been using, or consciously thinking “It’s time to switch text editors”. I was feeling open to change, though, and Emacs just felt right.
So far, I’m digging it. I haven’t had a chance to really play with python-mode yet, but I’ve enjoyed editing some plain text documents. Favorite features so far: Meta-q (reflow the current paragraph), and they way it figures out what you’re trying to do with indentation and alters the function of the tab key to do the right thing. Oh, and that Tetris implementation is pretty nice too!
