So there's this handy "[i" command that, when filetype=c, displays the first line mentioning the identifier under the cursor, which will often be its definition. The especially handy thing about it is that it knows about #include lines and will search through them as well when looking for the first match. You can also put the cursor over the .h file between the quotes and hit "gf", and if the path and suffixesadd options are set appropriately, it will jump you to the .h file.
The point is, vim can be configured to know how to find C include files and use them in various ways. I was wondering if there was a way to get it to have a similar level of knowledge about Python modules. In C, #include "z.h" will look for z.h in the current directory. That's easy enough... the Python equivalent is something like import z But that actually just loads z.py from the current directory (or from a bunch of other possible places, including system library directories and directories listed in the PYTHONPATH environment variable) and puts the name z into your namespace, and if you want to refer to something defined in z.py, you qualify it: z.someFunction(). A Python-aware "[i" would know that if I have the cursor on the someFunction in z.someFunction, then it needs to look for the word someFunction in z.py. There's also this from path import syntax: from a.b.c import z which might mean that relative to the current directory there's a file a/b/c/z.py that would need to be looked through if you used "[i". So, anyway, this all seems very complicated, but I figured it wasn't entirely out of the question that something was supported or available, especially given the existence of the compiled-in Python scripting option. Does anyone know of anything to let vim understand Python import syntax and use it for "[i" and similar commands?
