2010-08-31 5 views
24

wenn ich zwei Dateienüberspringen Python "Import" -Aussagen in ausgelassene ctags

Datei a.py:

class A(): 
    pass 

Datei b.py:

from a import A 
b = A() 

Wenn ich ctags verwenden und Drücken Sie Strg +] in Vim, leitet es mich um Anweisung zu importieren, nicht zur Klassendefinition. In diesem Code ist alles ok:

Datei a.py:

class A(): 
    pass 

Datei b.py:

from a import * 
b = A() 
+1

Ich konnte nicht sagen, wie dieses Problem zu beheben mit ctags, aber man könnte versuchen cscope verwenden, oder ein Pyopskop als Ersatz. Sie integrieren sich mit vim nett. –

+0

pycscope ist ziemlich nett, oder scheint so. Nett. +1 – chiggsy

Antwort

48

Sie können Ihrer ~/.ctags-Datei die folgende Zeile hinzufügen.

--python-Arten = -i

haben ctags Indizierung Import-Anweisungen überspringen. Um zu sehen, was sonst können Sie aktivieren/deaktivieren:

ctags --list-Arten = Python

+1

Ich muss anfangen, die Dokumente meiner Werkzeuge mehr zu lesen. – chiggsy

+1

++ danke für diesen –

1

ich eine Abbildung ähnlich der folgenden verwenden, die mich, wenn auswählen können dort mehrere Übereinstimmungen für einen bestimmten Tag sind:

nnoremap <C-]> :execute 'tj' expand('<cword>')<CR>zv 

überprüfen Sie auch die Manpage für ctags, finden Sie vielleicht gibt es einen Weg zu deaktivieren diese Art der Markierung.

+0

Ist das nicht das, was 'g ' tut? – Chronial