Emacs vs. Eclipse vs. Vim
Roy Smith
roy at panix.com
Sun Nov 30 22:18:19 EST 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
enough.
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