So has anyone ever been a die-hard vim user, been absolutely seduced by Emacs and the wealth of things that go with it (IRC? Org mode? Holy crap!), tried to use it, and been completely turned off by the abundance of control keys?
This describes me. I really, really want to like Emacs and learn to use it, but coming from vim, such heavy use of the meta keys just feels wrong.
I'm in the same boat. I learned vim and when I went to university all they use is emacs. I've tried time and time again but as you say it somehow feels wrong. Why do I have to dislocate my finger just to do a commnad? Vim feels much less in the way when doing stuff.
With that said I'm trying to use emacs org mode to keep myself organized, which works great! But I would never trade it with vim as my code editor, not in a million years. Sorry.
I tried several times and failed several times. What won me over in the end was the need to do some project management and the discovery of Org-Mode. Those checkboxed lists and tables are pure magic.
So what I really needed was a use case to make me use it properly. Once you see the awesome power of Org-Mode and try to imagine what else you could do, you see the potential of Emacs.
After that, it is the all-too-well-known cycle of "This is rather tedious", "there has to be a better way to do this" and finally discovering yet another new keyboard shortcut.
Also, get into the habit of using isearch (C-s, C-r) as a replacement for many of the Vim search commands (fFtT/? etc.). This makes Emacs a lot more manageable if you are used to Vim motions.
But really, I don't feel the need to use only Emacs or Vim. I switch freely between them depending on the task at hand.
That said, I did and do have trouble getting over the fact that Emacs seems to be unable to handle mousewheel-scrolling properly and has rather poor support for code folding. Not deal breakers, those, but come on, this is 2012!
Yes, that's me. It took me three tries in as many years to make the switch. So don't give up.
It wasn't the various alternate modes that enticed me so much as a more consistent buffer model for file-find, greps, and compiles. And I'm very happy not to have that constant "am I in insert or command mode?" problem. The control keys are now second nature.
I'm a die-hard vim user, who's used vim for many years.
I tried emacs with viper and vimpulse recently, and found that while they did make emacs a lot less painful, they were a far cry from making a long-time vim user comfortable in emacs.
The biggest problem is that in order to configure emacs and bind functions to keys you have to invest a lot of time in reading documentation and finding out about emacs.
If you have that sort of time to invest, great. But I didn't, especially since I already know vim very well and feel completely comfortable using and configuring it. Switching to emacs just didn't seem worth the time investment in my particular case.
I have heard that evil was a better vim emulation mode for emacs, and I've been meaning to give it a try, but haven't gotten around to it yet -- and I'm still skeptical of it addressing my main concern, which is that to really use emacs effectively (even in vim emulation mode) you'd have to invest a lot of time in learning the emacsy parts.
There is one other major issue that none of emacs' vim emulation modes address, which is the thousands of vim plugins available on www.vim.org. You might, in the best case, get all the standard vim keybindings for emacs, but you'd still be forced to use emacs scripts and plugins, instead of the vim scripts and plugins you like and are used to. Learning and transitioning to those is yet another big time sink right there.
One of the main reasons that I switched to emacs was to use SLIME to interface with Common Lisp. But SLIME is a huge program, and learning to use it and configure viper/vimpulse to bind keyboard shortcuts to its functions requires spending a lot of time learning about and understanding SLIME. It's just so much simpler to one of the less feature-rich vim plugins to develop code in CL. Yes, you'd miss out on some great SLIME features, but you would also not have to spend a ton of time learning SLIME and configuring viper/vimpulse to work with it.
I've found the path of least resistance is to not change the default keybindings of the various emacs packages. Use the vi bindings for text manipulation and when you need to invoke a package function it's back to the ctr/meta chords. It's the text manipulation that's burned into my brain so as long as vimpulse takes care of that I'm mostly happy.
It's true though that if you're heavily invested in vim plugins there's fair time sink in getting up to speed on the emacs equivalents. Everything's a tradeoff.
Learning emacs has been something I've been pushing back for too long. Currently I'm a Vim user but I'm deeply unsatisfied with the way it integrates to my other tools like debuggers and build systems. Emacs is far superior when it comes to this, even the best of Vim plugins are not as good.
But I like the Vi input model so much that I want to be able to use it in Emacs. I've understood that "evil" is the preferred Emacs-Vi-input layer these days (instead of viper or other alternatives). I'm going to use Emacs 24.
I'm a bit of a stuck record on this issue but my opinion is that the first thing that someone new to Emacs should learn is how to change key bindings. The rough guide line being that Vim key bindings should never be changed but Emacs key bindings always.
Still, unless you start using a vi emulation mode or keychords.el you will always be stuck with the meta keys. For me this was no problem since vi's modal approach to editing always rubbed me the wrong way. (I used Vim for almost 10 years before making the switch to Emacs.)
i'm playing with emacs + evil-mode for the better haskell support. so far it looks pretty good, and the thought of hacking up some elisp to fill in missing bits is a lot less offputting than hacking in vimscript.
This describes me. I really, really want to like Emacs and learn to use it, but coming from vim, such heavy use of the meta keys just feels wrong.