Mark Williamson asks why Emacs and Vim. We have all these wonderful GUIs, and vi and Emacs don't integrate well into them. Why would you use them when there are so many other wonderful GUI editors out there?
The funny thing is, I actually think that vim, my editor of choice, integrates well with the system. It may not have a pretty GUI, but it integrates very well with many of my applications. Much better than any GUI editor I've used. For example, when I edit a message in my mail program, mutt, it pops me into vi to edit the text and minimal headers. I made a few small changes to the editor config for editing text, including using spaces for indentation instead of tabs and doing word wrap. So, when I edit mail messages, I'm in my familiar editing environment.
Programs like visudo also will call the editor specified in the $EDITOR environment variable as well. DNS zone files I have a special modification for as well. I use the Python support in vim so that when I hit “S” in a zone file, it updates the zone serial number using the YYYYMMDDNN format.
In fact, I also have vim included as the editor in my journal writing program. For Kevin it starts up Emacs, for me it starts up vim, and we're both in a very familiar editing environment.
Part of the reason I don't like the GUIs is because they don't integrate well. There's an editor in Thunderbird, but it's nothing as capable as vim or Emacs. Plus, vim comes up in my terminal window, not in some new window that may come up in another window, which I may have to mouse to or from.
So, why vim? Because it integrates well with my environment, and provides a rich, powerful editing environment.
In closing, I'd like to clear one thing said in the original post linked above. The author asks “why should I have to press extra keys to move in and out of modes”. In Emacs you do the same thing by pressing the control, alt, meta, and other keys, sometimes in combination, to enter different modes. Not a clear win over pressing escape or a mode key. Om fact I prefer the modes over key combinations, especially multi-key combinations. Of course, Emacs being all that it is, it includes a very capable vi emulation mode as well.
Finally, one very good reason for using vim is “vimdiff”. Even Emacs users think vimdiff is cool. It's a fully interactive, multi-window, editable, diff program. Extremely handy for comparing two slightly different files.comments powered by Disqus