6 ms·
Vim seems to add a lot of things you would rather expect from emacs (great extensibility) and emacs of course has always been able to emulate vi keybindings. W
by dimitar 18y ago
Vim seems to add a lot of things you would rather expect from emacs (great extensibility) and emacs of course has always been able to emulate vi keybindings.
What are the major differences in functionality between the two?
- jackowayed 18y agoWhat I really like about emacs is extensibility in Lisp. I used vim until I wanted to be able to hack my editor. I have absolutely no desire to learn vimscript, a language useful solely for hacking vim. Lisp, on the other hand, is actually a real language.
- andyn 18y agoYou can script Vim in python.
- cschneid 18y agoEven with all it's features, Vim's direction has always been as a pure text editor. Plugins focus on making editing better, new features help with multiple windows, making modes easier, etc. 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.
- kingkongrevenge 18y ago> The programming tools are stronger 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.
- silentbicycle 18y agoLonger comment about same: http://news.ycombinator.com/item?id=230990 http://news.ycombinator.com/item?id=230990 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.
- graywh 18y agoThe key thing being Vim's "modes". Vim users spend most of their time in normal mode navigating and doing some editing. Insert mode is for actually typing characters into the document.
- silentbicycle 18y agoRight. Emacs modes are more context-oriented ("I'm editing XML, so give me navigation commands that natively understand that syntax") while vi modes are operation-oriented (either inserting/appending or navigating/editing). In the vi sense, Emacs is always in both modes, so you need to press modifier keys to categorize actions (and if you're unlucky, you may find yourself gradually growing crab claws for pinkies). 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.
- graywh 18y agoThe difference I was trying to point out is that Emacs is always in "insert mode" in the vi sense. In vi normal mode, many commands don't require modifier keys. Vim has syntax-aware navigation, too. And what Emacs calls "modes", Vim calls syntax/filetype plugins.
- kaens 18y agoPretty much the first thing I do these days is swap Caps Lock and Control on my keyboard layout. Emacs is the reason I started doing this, now I wonder how I ever lived without it.