I used to do almost all my coding (and editing in general) in vim. I actually think vim is one of the most brilliant pieces of software ever created — obviously not because it’s particularly feature rich, but because it is simple and elegant. I can use vim for editing almost any type of document, on any platform, and it can be used remotely through ssh just as easily as it can be used locally.
But I’ve actually been using Eclipse more and more lately in an attempt to modernize. I find the editor itself slower to use (not because of performance, but because vim was designed from the start to make navigation and editing as fast as possible), but in general, all of the features of Eclipse have actually made me more productive. In an attempt to get the best of both worlds, however, I’m now experimenting with a Vi plugin for Eclipse. It seems to work pretty well, though not exactly as I would expect in all circumstances, so I’m debating whether to stick with it, or just give up and surrender myself entirely to Eclipse. Whenever possible, I always try to stick with as much of the default functionality of an application as possible so that I can move from one machine to another and feel like I’m in the same environment. Ironically, that’s precisely one of the things I like best about vim, and might be what prevents me from trying to integrate it into Eclipse.