Yu-Xi Lim wrote: > Eclipse+PyDev has the advantage over emacs when it comes to big > projects, IMO. It has features like refactoring, better project > management, code coverage
Emacs and vim both have good integration of BicycleRepairMan for python refactoring. I don't know what better project management or code coverage in eclipse entail, but I've posted before that if you think vim/emacs are just syntax highlighting/indenting text editors you've got them misconfigured. The beautiful thing about vim in particular is that it uses Python as an internal scripting language, so it's very easy to extend it to add whatever you want. e.g. in vim I get * Syntax checking, if I type invalid python code it gets highlighted as an error (if I type, say, "if a=1:" and hit return, it gets highlighted since I need an == there). * Object browser, with dropdowns showing the parent and child classes of the current class, and the ability to jump to various class methods * Normal tag-jump stuff, so I can drill down into the method/function call I'm looking at and then pop back up (keeping a stack so I can drill down arbitrarily deep to follow the flow of the code) * Interactive help, so when, say, I type foo.blah( then the status line displays the first line of the docstring/python doc/preceding comment for foo.blah. E.g. if I type "cmp(" then the status line shows "cmp(x, y) Compare the two objects X and Y and return an integer according to ..." and if I hit F1 then I get the full help text * Editor control for uncaught errors--if I code I'm debugging raises an uncaught exception, the editor jumps directly to it. Even works for web development, if I hit a page in my dev server that raises an exception, it brings my editor right there. and lots more (version control integration, easy mapping of keys to restart the webserver after I make changes, etc). And there's some internal crap (e.g. we work on lots of clients who have client-specific versions of some objects; I have a client menu so that if I pick one, then I'll jump to their client-specific version of the current file (or the base generic version if there isn't a specific one), tags will follow the right client versions, etc). -- http://mail.python.org/mailman/listinfo/python-list