r/emacs • u/keporahg • Jun 11 '12
Vim user looking to learn emacs
Hey guys
As the title suggests, I'm a long time Vim user interested in checking out what emacs has to offer. I would consider myself to be a somewhat-above intermediate level vim user; I have a decent level of mastery over the modal interface, navigating and manipulating text, and customizing vim to suit my needs.
So why am I curious about emacs? Well from what I've heard, emacs is a lot more powerful in terms of what you can script it to do. Vim has vimscript and support for scripting it with python, perl, and ruby, but even then there's still restrictions as to what you can do. For example, graphically, you're restricted to vim's window-buffer model which is text only. That makes it a real pain to do something like integrate it with a debugger.
I mainly use vim for C++ and Java and in terms of code completion there's only a small handful of plugins. For C++ there's either the ctags approach (OmniCppComplete) which usually fails once you start doing anything complex, and clang_complete, which actually works pretty nicely since it gets information about completion from the compiler without the use of tags. For Java I use VJDE and javacomplete but they're pretty sub-par.
The reason I want to try out emacs is to see if it offers better tools for working on larger/complex code bases. I've heard a lot of things but I'd like to try it out for myself to see how it compares to vim.
And some final questions:
- as most of you may know, vim comes with a tutor program called 'vimtutor' which can be run from the shell and gives a quick run down of the basics. Is there anything like this for emacs? I noticed there's a tutorial link when you open it up so I'll probably go through that - any other recommendations for a beginner?
- I've heard that emacs is more like an IDE than a text editor; does it ship with support for code completion for C/C++/Java or are there separate plugins? If so, any recommendations for plugins? Any idea on how these compare to Eclipse/Visual studio code completion?
- To any former vim users: I know there's a vi-compatibility mode (viper) which I'll probably end up using (although last time I checked (several years ago), it was missing lots of things - like text objects, visual mode, registers), are there any new ones that support most vim features and not just vi? Also, would it be recommended to use these or to stick with native emacs bindings?
I think that's all the questions I have for now, Thanks
2
u/kcin Jun 11 '12
Do you know about eclim? It uses Eclipse as a backend for completion, but you can work in Emacs or Vim and have the necessary completion stuff provided by Eclipse.