Right up front: I do not want to start a religious war.
I've used vi for as long as I can remember, and the few times I've tried to pick up Emacs I've been so lost that I've quickly given up. Lots of people find Emacs very powerful, however. Its programmability is somewhat legendary. I'm primarily doing Solaris+Java development, and I'd like to ask a simple question: will my productivity increase if I invest time in getting my head around Emacs? Is the functionality that it offers over Vim going to be paid back in productivity increases in a reasonable timeframe?
Repeat: I don't want a "my editor is better than yours" answer. I just want a yes or no answer as to whether it's worth investing the time or not. Will my productivity really increase?
> Is learning emacs worth it? Yes. Especially now that you know vim. Using evil mode, in combination with leader keys (see Doom Emacs or Spacemacs) resolves the RSI issues that have caused emacs users so much trouble in the past.
My short answer is Yes it is worth taking 3-4 weeks of a diminishing productivity-hit to learn Emacs. Even if you decide you prefer a streamlined unix utility combo over Emacs for development you will derive from it an education widely applicable beyond the editor.
Short answer: Yes. You should learn either Emacs or Vim. Get comfortable with one before you tackle the other, though; they're quite different and they're both tools that you can spend years on without hitting the limits of their functionality.
GNU Emacs has been around for a long time—since 1983—but its continuous development makes it still relevant today. GNU Emacs may not be the oldest interactive text editor for Unix—it's arguably predated or matched by the Vi editor—nor is it the only Emacs in existence.
[Disclaimer: personally, I prefer Vim. Disclaimer disclaimer: read on.]
Vim excels in the small: by making motion and action separate concepts and providing facilities for complex repeats, you can perform incredibly powerful editing operations in just a short sequence of keystrokes. You can easily do things in Vim in the normal course of editing that would require you to drop down to scripting in Emacs. Also, most of the power you use comes out of the box, so even if you have extensive .vimrc
customisations, chances are you will be able to work productively with any Vim installation.
Emacs excels in the large: by mapping all of its UI concepts directly to basic constructs and concepts in Elisp, it becomes very easy to globally introduce features for specific kinds of files or circumstances, making Emacs something like a text-based and much more structuredly programmable form of Excel. This presumes that you are going to spend a lot of time customising your environment for personal needs and preferences. Of course, Emacs does do its best to make it easy to stay inside that one environment for everything and anything you may want to do.
Ultimately, neither is superior. They offer different styles, and depending on your proclivities, one or the other will suit your personal needs and way of thinking better. It is always helpful to know both (plus more editors), of course. But you aren’t going to be appreciably more productive this way or that.
I prefer emacs to vi, but I'm comfortable in both.
There are some things that you can do in emacs that make it more powerful than vi, but not all of them are even programming-related. (Can you send email or read news from within vi? No, but who cares?) If you're comfortable with lisp (I'm not), you might be able to write add-ons and modes and stuff to make your life easier, but that's just likely to be syntax colouring and brace matching and eye candy like that.
I will stop rambling now. Will your productivity increase using emacs? No.
Update: See my comment below. Since I posted this, I have come across ways that using emacs has made me more productive than using vi.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With