Emacs vs. Eclipse vs. Vim

Roy Smith roy at panix.com
Mon Dec 1 04:18:19 CET 2008

Clay Hobbs <clay at lakeserv.net> wrote:
> The first real text editor I used was Vim, which I actually started
> using about a year ago.  I've looked at Emacs and it just looks
> confusing.

I've been using emacs for so many years (um let's see, it's got to be close 
to 25 years now; first saw it on Columbia's TOPS-20 systems in the early 
80's) that my fingers know what they're doing without my even thinking 
about it.  In fact, I used to work with another emacs nut.  Every so often, 
one of use would watch the other do something and ask, "What was that?".  
Inevitably, neither of us could evoke the keystrokes we had just typed.  We 
would just re-do it, and watch our fingers to see what we typed.  It didn't 
even have to be on a keyboard; we could air-type it, and that was good 

In any case, the basic logic behind emacs is pretty simple.  C-F is forward 
one character.  C-B is back one character.  C-N is Next line.  C-P is 
Previous line.

The original concept was that changing the control modifier to meta, or 
shift-meta, or control-x, etc, would do the same basic thing but to 
increasingly larger units of text (forward one word, forward one sentence, 
forward one paragraph, and do on).

So, you had a bunch of basic operations (cursor movements, deleting, 
transposing, and so on), and a bunch of orthogonal prefixes to change the 
scope of what they were operating one.

But, the massive, fundamental, difference between emacs and the whole vi 
family, is that emacs is mode-less.  In vi and its descendants, you hop 
back and forth between "command mode" and "insert mode".  That drives me 
nuts.  With emacs, what's on the screen is what's in the file.

The other big thing that made emacs superior to vi was the scriptability, 
and all the add-on packages that gave rise to.  I just can't imagine 
working on C/C++ code without M-X Compile.  Likewise for the source control 
(CVS, SVN, P4, etc) integrations.  As time has gone by, however, the choice 
of lisp as the scripting language has really shown its age.  Not many 
people know lisp these days.  I used to be OK with lisp, but these days I 
remember just enough to do some minor hacking on my .emacs file.  I'd have 
to say that, today, lisp as the scripting language has become a significant 
barrier to entry for new emacs users.  I can see why vim has become 
popular. (even if it is still saddled by the modal editing model).

More information about the Python-list mailing list