Emacs or bust

Anyone who knows me knows I’m a big proponent of Vim. But recently I’ve been hearing a lot of stuff about Emacs and how 1337 it is. So I’ve decided to go all Emacs for a week.

That’s right. No Vim.

It’s tough, let me tell you. There are very few mnemonics, which I use constantly in vim. Sometimes sequences use Meta/Escape and sometimes they use Ctrl. I have found no explanation or clear deliniation between the two. M-d to delete from the cursor to the end of the current word. (‘de’ in Vim — ‘Delete’ to ‘End of word’.) C-k to delete from the cursor to the end of the current line. (‘d$’ in Vim — ‘Delete’ to ‘$’, the standard regular expression end-of-line character.) It’s like German genders all over again!

Vim is regular, orthogonal. Emacs seems to require a lot more rote memorization. :-(

And then there’s things like replacing strings, which is made into a multi-step process, complete with a menu if you tab complete at the wrong time.

Vim: :%s/wrod/word/gCR

Emacs: M-x replTabsTab CRwrodCRwordCR

Even then, Emacs will only replace from the current position to the end of the buffer. So it’s really more like Vim’s :,$s///g construct. You have to prepend M-< to the start of that so you can lose your place and get to the beginning of the buffer to do a truly global replace.

And WTF is up with the circular undo???

Anyway, I’ll soldier on. I’ve been doing this for a couple of days, so I have until Wednesday at 21:00. I’m trying not to put off my big editing projects; I’ll never learn it if I don’t USE it. But the lack of a (count)(action)(object) paradigm (or anything similar) is really messing with me. Assigning random keys to unrelated and needlessly specific actions doesn’t seem like the most sensible way to go about writing an editor.

I miss my text objects!

1 Comment »

  1. Mark bdash Rowe Said,

    April 26, 2004 @ 16:12

    Just a hint: instead of M-x replace, you can use M-% for approximately the same effect.

RSS feed for comments on this post

Leave a Comment

Powered by WP-Hashcash.