If you are learning Java, Emacs + JDE is the way to go. You can customize Emacs in almost any way immaginable; I'm sure you can do a lot with vi, too, but Emacs has always appealed to me more. JDE is at http://sunsite.auc.dk/jde/ todd