Why Emacs (or Vim)
I just read this article on why use Emacs. Of course, it got me thinking about why I use Emacs.
The whole Emacs vs. Vim debate is really a difference in preference.
Part of why I use Emacs is because you never need to leave it. But this is really a preference. Vimmers probably like vim because it doesn’t get in the way of their shell. Again, a totally valid opinion. In both cases though there is a consistent line of thinking that deals with how you solve problems. Both Emacs and Vim are hammers and when you have a hammer everything looks like a nail.
Traditionally this idea of forcing problems into one paradigm is considered a bad idea. The problem is that for programmers you edit code. That is the most important thing to consider. You have to write/edit the code, which is in many languages, organize the files and compile and/or run it. Both Emacs and Vim are tools for the most common case.
This is why I like Emacs. It lets me cram things like email, irc, using a shell and a host of other activities into the paradigm of editing. The result is that I get better at editing text while I browsing the web, looking for files or chatting on irc. Usually this kind of problem solving is a bad idea, but in terms of Emacs, it always pushes you to learn more and makes you a better programmer. I’d argue Vim’s ability to keep you on the shell is a similar situation. You get really good at working in your shell every time you edit a file.
The power that Emacs (and Vim) affords is what makes it such a great editor. In almost all cases, taking a single tool to solve problems is a bad idea, but for Emacs, it makes it an exercise to become a better programmer. That is why I use Emacs.