Problème de ctags lors de la génération de balises pour les fichiers .h et .c dans deux répertoires différents
Question
Maintenant, j'ai deux répertoires, tous les fichiers d'en-tête * .h sont inclus dans directory / inc, tandis que tous les fichiers c. * .c sont stockés dans le répertoire / src.
Le répertoire juste comme ceci, (/ project est un répertoire de niveau supérieur):
/project-- |----/inc
|----/src
Je souhaite utiliser ctrl +] pour localiser la définition d'un paramètre ou d'une fonction dans un fichier source, comme exemple.c. Comment générer ces tags?
Ma méthode est la suivante:
(1) cd to the /project directory
(2) ctags inc/*.h src/*.c
Ensuite, un fichier de balises y est généré. Cependant, lorsque j'ouvre un exemple de fichier et que j'utilise "Ctrl +]", il ne peut pas me mener à sa définition. Pourquoi ???
Dois-je générer un fichier de balises sous / src ???
Une aide? Merci beaucoup!
La solution
Dans vim, essayez de taper:
-
: pwd
-
: définir les balises
Vérifiez que le chemin d'accès à votre fichier de balises est présent dans la sortie de 2, par rapport au chemin correspondant à la sortie de 1.
REMARQUE: vous pouvez définir la variable tags
dans le cadre de votre .vimrc
local.
UPDATE: Il est courant de définir les tags
sur un motif tel que tags, .. / tags, .. / .. / tags
. Avec ce modèle, vim utilisera le premier fichier de balises dans lequel il trouvera la structure de votre dossier (à nouveau par rapport à votre pwd
).
Autres conseils
Allez dans / projet et utilisez la commande " ctags -R. " Dans votre fichier .vimrc, entrez la commande "set tags = / project / tags". Quittez vim et entrez-le à nouveau. Les balises devraient maintenant fonctionner.