why not just use Eclipse?
issactrotts: You can get decent file navigation in Emacs by using Nav (Google for emacs nav), but it won't help with other Eclipse features that Emacs doesn't have.About refactoring of scripting languages, Python has Rope, with bindings for Vim and Emacs. It's not a comprehensive or bug-free solution, but it's a start and has at least one solid developer. I submitted a report for a tough Rope bug and one of the Rope developers fixed it in a few days.