2010-08-31 12 views
24

si j'ai deux fichiersPasser python déclarations "d'importation" dans ctags exubérantes

fichier a.py:

class A(): 
    pass 
fichier

b.py:

from a import A 
b = A() 

Lorsque j'utilise ctags et appuyez sur Ctrl +] dans vim, il me redirige vers l'instruction d'importation, pas vers la définition de classe. Dans ce code tout est ok:

fichier a.py:

class A(): 
    pass 
fichier

b.py:

from a import * 
b = A() 
+1

Je ne pourrais pas vous dire comment résoudre ce problème avec ctags, mais vous pouvez essayer d'utiliser cscope, ou pyscope en remplacement. Ils s'intègrent bien avec vim. –

+0

pycscope est assez sympa, ou semble comme ça. Agréable. +1 – chiggsy

Répondre

48

Vous pouvez ajouter la ligne suivante à votre fichier ~/.ctags.

--python-types = -i

avoir ctags sauter des déclarations d'importation d'indexation. Pour voir ce que vous pouvez activer/désactiver:

ctags --list-types = python

+1

Je dois commencer à lire les docs de mes outils plus. – chiggsy

+1

++ merci pour celui-ci –

1

J'utilise une cartographie similaire à celui-ci qui me permet de choisir quand il plusieurs correspondances pour un tag donné:

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

également, consultez la page de manuel pour ctags, vous trouverez peut-être il y a un moyen de désactiver ce type de marquage.

+0

N'est-ce pas ce que g fait? – Chronial