What are the major differences in functionality between the two?
What are the major differences in functionality between the two?
Emacs is really a platform who's main use is a text editor. The programming tools are stronger, and it has a few more interactive options when making extensions. This allows developers to create news readers, email clients, web browsers all inside emacs. Much of that could potentially be possible in Vim, but it would require shelling out, and would have a nasty interface in general.
Not really. Not outside of lisp. Vim makes for a fully capable ide.
> allows developers to create news readers, email clients, web browsers
And they're all silly wasted effort.
Emacs is a Lisp virtual machine, and tends to act more like an integrated environment, while vi(m) is a text editor with less intrinsic extensibility.
Also, Emacs's default keybindings (both in the main system and virtually every mode people write for it, out of tradition) tend to use quite a bit of modifier keys (e.g. you are frequently typing with control held down), which can be hard on your hands. Vi clearly wins in this regard.
There's an editor synthesis waiting to happen, but decades of old elisp means there's a lot of inertia for new editors to overcome.
Vim has syntax-aware navigation, too. And what Emacs calls "modes", Vim calls syntax/filetype plugins.
I don't have a Kinesis keyboard, but I read that their modifier keys (along with space, Enter, and backspace) are all at the thumbs, and that seems like a really good idea.