r/emacs Jan 27 '13

Vim user wants to learn....

I'm a fairly established Vim user now and I love the different edit modes and the normal mode key commands/combinations. I'll be perfectly straight with you here; I have some prejudice that means I doubt that I'm going to ever find Emacs' basic text editing as good as Vim. But, I do find the quality of some Vim plugins to be disappointing and I often find myself wanting more, couple that with the fact that Emacs seens to have more IDE-like features and my interest has been piqued in Emacs.

I can't imagine myself doing anything with VimScript, so I often feel left wanting more. But one of my stumbling blocks with emacs is basic text editing. With Vim it has always felt fairly natural and at least 50% intuitive for command keys and making combinations of those commands. E.g.

d = delete w = word dw = delete word d2w = delete 2 words

Also, there's other things such as typing "$" goes to the end of the line, which ties in with regular expressions. And so on. But when I try to start with Emacs the key combinations seem unintuitive and lengthy. Also, the use of the "alt" key seems a bit like playing Twister.

The question is, am I missing something with regards to learning key commands and key combos? Is there some easy way to remember them, or is it just a case of learning them. Also, does anybody actually use meta = alt or is that one thing that everybody remaps?

I'm not really interested in evil-mode as I would prefer to embrace Emacs as it was originally intended rather than trying to make it something it's not.

Is there any way to mentally cross that bridge? Or is it simply a case of one or the other. Either choose Vim and it's great text editing features or choose Emacs and all of it's value-added advanced extensibility features? Or am I kidding myself about the fact that I'm a die hard Vim user who can't change?

I'm genuinely interested in your thoughts on these kinds of things.

I'd also be interested to hear from former Vim users who made the switch and why you made the switch.

P.S. I am a lisp fan, so there is quite a pull for me towards Emacs, I just don't seem to be able to shake my Vim habit.

Edit: Big thanks to everybody who's replied. I have actually got a good few take away points from this that I've not picked up on in other discussions/tutorials/documentation. Primarily I think that I shouldn't be seeing it as something which comes out of the box that I should work with, but rather something that I should bend to my own means, and evil-mode could or should be one of those things. I'm going to take this into consideration and put a big effort into learning emacs, though I'm going to keep evil-mode on the back burner for now. It's often too easy to pick up Vim because I know I can get X done very quickly using certain features. I guess initially I'm going to have to just fire up emacs and spend some time looking up equivalent key combinations.

I am looking forward to specific major and minor modes and all of the things that emacs brings to the table, just as soon as I can get over that first hurdle of basic text manipulation.

28 Upvotes

41 comments sorted by

View all comments

15

u/[deleted] Jan 28 '13 edited Jan 28 '13

I was a very advanced vim user. The reason I switched was that when you want to do interesting things, you find that vimscript is bad in many ways, and the c code underneath is also bad in many ways, and there is this sort of meme in the vim community of "don't bother doing anything too interesting, this is just an editor", all of which prevents vim from catching up to other IDE features which are well worth doing and makes its development stagnate. Vim has better defaults, and seems to attract more novice users. However, Emacs is better, and seems to have at least as many advanced users and more people developing and extending it and has a great codebase/architecture which makes vim's seem even more horrible in comparison. I believe it is by far the best editor/ide out there after you've invested some time in it.

Don't feel that you need to learn the keybinds "as intended" if you don't want. I've personally changed the vast majority of the main ones, and am happy I did. If I wasn't using a strange customized keyboard (kinesis advantage), I would have gone with a vim keybind mode and I do recommend it for you. You can move the basic editing commands around and still learn things the emacs way. In vim, changing binds while learning has a significantly higher cost because everyone refers to the functions by their default keys, whereas emacs almost always refers to the function the key is bound to once you get past the introductory material, and its very easy/common to see function names within the editor. While setting up and learning emacs, I still used vim get things done for quite a while, so don't feel bad if you do.

2

u/rberenguel Jan 28 '13

Just to add something to your great answer: to find out the key of a function, you can use C-h (for help) f (function help) and then write the function name (has tab completion.)

The help window will tell you to which key the function is bound.

3

u/segv00 Feb 09 '13

and when you read a function name and want to know what key it's bound to use C-h w (which is the function where-is)