tags:

views:

136

answers:

6

I'm an experienced C/C++ programmer getting into Java and looking for a good IDE with VIM integration or a VIM plug-in that let me use the same key mappings for things like editing, cscope and omnicompletion functionality. What I mean is that whatever native functionality is provided by the IDE can be mapped to the equivalent vim key bindings. It should run on both Windows or Linux. I don't care if I have to pay for both the IDE and the plug-in as long as they meet my needs.

The most recent question I saw dealing with this type of question here on SO is over a year old and I'm sure the 'state of the art' has changed since then.

I want to hear from people with actual hands on experiance with these IDEs and VIM plug-ins.

+1  A: 

Why not just use VIM?

You know exactly what it can do and how it can be extended, and it appears to be what you want anyway.

You will not be satisfied by any emulation as it will fall short, and with your current mindset you will not like having to learn a new editor. It is, however, what I will recommend you to do. The things modern Java IDE's can do are miles above what VIM can do because they know your source intimately. You will benefit the most from an IDE if you use its default configuration, and I do not know any which wants to look like vi/vim.

When THAT is said, you might find http://ideavim.sourceforge.net/ interesting. IDEA is the only common place Java IDE left which makes money...

Thorbjørn Ravn Andersen
Are you asking "Why not just use VIM?" rhetorically, as in "Just use vim"? While also saying that "The things modern Java IDE's can do are miles above what VIM can do", which seems like you're suggesting use of a modern IDE instead.
Sam
If you are intimately familiar with vim and consider that familiarity more important than IDE-tricks, then just use vim as your editor (plus an ant build or so). Personally I decided deliberately a long time ago to LIKE Eclipse and go with the flow. This implied I had to learn the Eclipse editor key bindings which is not such a big deal. If you have to do more, you can always Open -> System editor or use one of the "Open Explorer here" plugins to Eclipse. Pragmatism at its best :)
Thorbjørn Ravn Andersen
I still maintain that you will not be completely satisfied with any emulation (vim is quite powerful, and yes I use it on Windows).
Thorbjørn Ravn Andersen
A: 

I'm also researching VIM / Eclipse integrations, and these seem most interesting:

(according to this Hacker News discussion and this other SO question)

eneveu
A: 

Looks like there is one for netbeans, (a stack overflow thread) http://stackoverflow.com/questions/483962/is-it-possible-to-use-vi-or-vim-keymap-in-netbeans

Bill
I really like the jVi plugin for NetBeans. I've used it mostly for PHP development though, not much Java.
Eugene M
+1  A: 

There's a VI plugin for IntelliJ. I've never used it, so can't comment on its userfriendliness, but IntelliJ itself is excellent.

jwenting
What specifically do you like about IntelliJ? Why do you choose it over something like Netbeans or Eclipse?
Robert S. Barnes
Sorry for the late response.What I like about IntelliJ are the user interface (which I find to be more intuitive than any other out there I've tried except maybe early Delphi and Turbo C++ versions), and the performance (it's just so much faster than either Eclipse or Netbeans).Like with any tool of course it takes getting used to, but their slogan "develop with pleasure" is no exageration.
jwenting
A: 

Recently when I've been coding Java at work I've been using vrapper It has some minor usability bugs and some missing features (such as cit) but it really seems to work well in just providing basic vi editing functionality.

Ok, it seems I misread the original question a bit by looking too much at the other answers. I don't really know how easily you can map Eclipse's native omnicompletion functionality to the corresponding vim mappings. However I think you can be very productive with the bindings provided by wrapper and by learning just a few of the most important coding assistance keys in Eclipse.

There might even be a Stackoverflow question about this but the most important shortcuts I've found are:

  • ctrl+space for "omnicompletion"
  • ctrl+1 for opening the menu of suggested quick fixes for an error or warning
  • shift+ctrl+t for opening a type
Sam
+1  A: 

I've been using the viplugin for eclipse (http://www.viplugin.com/viplugin/)

It's quite good, fights a little bit with refactoring, but most of the main editing commands work. I still have to use vim for complex regex work, but I only have to do that about twice a year.

Unfortunately it's commercial (€15) and development seems to have slowed a lot. It seems to be currently more feature complete than vrapper, but I haven't tried that.

mo-seph
Does eclipse have code completion and ctags like functionality built-in? Can they be mapped to the corresponding vim commands?
Robert S. Barnes
Yup. Its code completion is much better than vim's - it understands more semantics, so it will complete generics with their tags, and only suggest variables which make sense in the context. I'm still using ctrl-space for code completion, but you could remap it. I've got ctrl-] mapped to "Jump to definition", so that works like my vim setup.
mo-seph