I use Vim for everything except for Java development. Java apps are just often so heavy that I have to use IntelliJ. It makes it a lot easier to handle refactoring, etc. However, I do use IntelliJ with Vim bindings.