Python Autocompletion for Vim, Emacs and TextMate
code.google.com
code.google.com
Now if someone can tell me how to get emacs to show the tabs visually... I will do anything for you. For example, visually showing the tabbed levels/scopes in different highlights.
http://www.foldr.org/~michaelw/emacs/color-box.png http://www.foldr.org/~michaelw/emacs/mwe-color-box.el
Indentation already is a visual indicator right?
Then add this to your .emacs: (require 'show-wspace) (add-hook 'python-mode-hook 'show-ws-highlight-tabs) (add-hook 'python-mode-hook 'show-ws-highlight-trailing-whitespace)
I guess the real usage I was looking for was, show/highlight indentations in python code.
http://rope.sourceforge.net/ropemacs.html
It's not perfect but on the other hand it doesn't require that you run a tool to build the tag files each time (it just picks things up automatically).
The nature of Python is such that it's not possible to determine precisely all members of an object at compile time. I've used PyDev and I discovered that auto-completion in Python actually annoys me because it doesn't work all the time.
For example, in Python you can add a method with a simple x.__dict__['method'] = some_method, not to mention magic methods like __getattr__. The trouble is many Python modules add members to classes through various meta-programming techniques. When using PyDev searching for a member name, instead of using the API's documentation, you can find yourself assuming that the member you're looking for does not exist, leading you in a wrong direction, and thus waisting more time.
If the behavior of intellisense is unpredictable, it kind of stands in your way more than it helps. And without intellisense, it makes no sense to use a bloated IDE for Python (or dynamic languages in general). Dynamic languages have simple APIs anyway that can be learned easily.
I have a shortcut defined for the "dir" and "help" commands in Python, and for "perldoc" in Perl, executed on the token under the cursor, and with the help of flymake-mode, it's more than enough. And in many instances it's even more productive ... if I don't remember the usage of DateTime::Format::Strptime in Perl I just look at the CPAN docs with perldoc, copy/pasting the example given.