Many IDE features aren't necessary in Emacs and Vim, both of which have incredible generic text-manipulation capabilities.<p>Want to add setters/getters to a Java class? Use YASnippet or SnipMate. Want to rename the local variable foo to bar? Use a scoped regex. Once you grok the power of generic text-manipulation, you can use it everywhere and in ways that IDE users can't imagine. (See <a href="http://steve-yegge.blogspot.com/2006/06/shiny-and-new-emacs-22.html" rel="nofollow">http://steve-yegge.blogspot.com/2006/06/shiny-and-new-emacs-...</a> )<p>Two caveats:<p>1. Scoped regexes, like C-M-h in Emacs, require a proper parser, which is what IDEs are all about. But I prefer starting with a text-oriented editor and tacking on AST-aware IDE features, than the opposite.<p>2. Emacs and Vim have poor support for renaming class methods across files. (Possible solutions are XRefactory for Emacs and Mozilla Pork for Vim.)
I tried Eclim a couple times, but didn't like it. Currently I use Vrapper and am content to have the basic motions and marks. I've also heard good things about Viable.<p><a href="http://vrapper.sourceforge.net/home/" rel="nofollow">http://vrapper.sourceforge.net/home/</a>
<a href="http://viableplugin.com/" rel="nofollow">http://viableplugin.com/</a>
Having tried Eclim, I honestly prefer the opposite approach of embedding a ViM editor inside the IDE. NiceOneBrah mentioned vrapper and viable. I prefer viPlugin (viplugin.com).<p>Netbeans and Intellij also both have excellent ViM plugins. These days I spend my time in Visual Studio, and it too has a couple of free and commercial plugins to choose from.
For those that didn't read through the entire linked page, there is also an Eclim client for Emacs under active development (<a href="https://github.com/senny/emacs-eclim" rel="nofollow">https://github.com/senny/emacs-eclim</a>). I don't know that it's quite as feature-rich as the Vim version, and it's certainly less well-documented, but it does add some nifty IDE features to Emacs without forcing you to do your development inside Eclipse itself.
For your Emacs users out there who end up using/needing Eclipse on a daily basis, Emacs+ actually does a remarkable job of giving you a lot of the immediate wins of Emacs with the immediate wins of Eclipse. For larger codebases, this makes me incredibly productive. On small projects, I still live in Emacs when possible.