Question

J'utilise « la taglist » plugin fichiers source Navigate de vim dans mon projet, mais je suis venu à travers un particulier question de travailler avec les fichiers de C (par opposition à C, ce qui peut se produire avec d'autres langages tels que Java) .

Pour chaque fonction dans un fichier, il affichera deux tags: un qualifié, l'autre non, par exemple:

initialise [()]
ClassName::initialise [()]
update [()]
ClassName::update [()]

et ainsi de suite. Cela est compréhensible, car mon fichier ctags est généré avec --extra = + q, comme indiqué dans la page de manuel pour ctags,

Inclure [s] une entrée supplémentaire de l'étiquette de classe qualifié pour chaque balise qui est membre d'une classe (pour les langues pour lesquelles cette information est extraite, en C ++, Eiffel et Java). La forme réelle de l'étiquette qualifiée dépend de la langue dont l'étiquette a été dérivé (en utilisant une forme qui est le plus naturel pour faire dans la langue sont spécifiés appels qualifiés). C ++, il est sous la forme « classe :: membre »; pour Eiffel et Java, il est sous la forme « class.member ». Cela peut permettre à faciliter la localisation du balises spécifiques lorsque plusieurs occurrences d'un nom de balise se produisent dans le fichier d'étiquette. Notez toutefois que cela pourrait potentiellement plus que doubler la taille du fichier de la balise.

Ce paramètre est donc utile pour moi quand je suis en utilisant les touches Ctrl +] pour naviguer et ainsi de suite, donc je préfère le garder, mais je préfère les versions qualifiées ont été dépouillés dans le menu taglist. J'ai cherché une réponse, mais pas trouvé tout ce qui concerne ce problème; surprenant que je pense OmniCPPComplete recommande d'utiliser --extra = + q donc j'attends beaucoup de programmeurs C ++ serait l'utiliser.

Après mes ctags et les paramètres de taglist. Toute aide appréciée!

~ / .ctags:

--c++-kinds=+p
--fields=+iaS
--extra=+q

~ / .vimrc (paramètres taglist extraits)

let Tlist_GainFocus_On_ToggleOpen = 1
let Tlist_Process_File_Always = 1
let Tlist_File_Fold_Auto_Close = 0
let Tlist_Enable_Fold_Column = 0
let Tlist_Use_Right_Window = 1
let Tlist_Show_One_File = 1
let Tlist_Ctags_Cmd = 'ctags'
Était-ce utile?

La solution

La réponse me regardait fixement dans le visage! Je ne l'avais pas réalisé taglist était en fait en cours d'exécution de ses propres ctags chaque fois, non seulement en utilisant mon fichier tags. Tout ce que je devais faire était explicitement désactiver les C ++ paramètres spécifiques dans la commande de ctags de taglist ainsi:

let Tlist_Ctags_Cmd = 'ctags --extra=-q --c++-kinds=-p'

Espérons que ce poste sera utile à quelqu'un d'autre qui a le même problème!

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top