2010-09-09 6 views
0

Les gars Ok, tu es mon aide uniquement :)VIM + Ctags ne fonctionne pas dans Windows XP

Je GVim v 7.3, Exubérant CTags 5.8, omnicppcomplete (0,41) -. Toutes les dernières, pour être exact. J'essaie de générer des tags à utiliser dans VIM, mais il semble ignorer totalement les données dans le fichier de tags. J'ai utilisé ctags pour générer le fichier tags pour le framework bada - le fichier semble correct, les définitions de classe sont présentes, etc. J'ai également essayé d'appliquer la même commande à STL depuis Visual Studio.

ctags -R --c++-kinds=+p --fields=+iaS --extra=+q --language -force=C++ "c:\bada\1.0.0\Include\" 

J'ai également mappé des tags de génération via hotkey.

map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q . 

L'utilisation de l'un des fichiers générés par ces commandes n'a pas abouti. La commande :tags affiche la liste des balises vides, mais ne donne aucune erreur, et je n'ai aucune idée de comment résoudre ce problème.

+1

Quelle est la sortie de ':' set tags. ': tags' n'affiche que la pile de balises actuelle, donc à moins que vous n'ayez appuyé (par exemple) sur 'Ctrl-]', il ne montrera rien. – DrAl

+0

Oui, AI, vous avez raison. Je pensais que c'était un problème avec le fichier de balises lu par VIM - mais c'était juste qu'il n'acceptait pas le chemin avec des espaces. Et merci pour l'aide) –

Répondre

1

Le problème était avec le chemin d'accès au fichier de balises: c: \ Program Files \ Vim \ bada. Le VIM ne voulait pas analyser la chaîne avec des espaces, peu importe ce que les barres obliques/barres obliques inversées utilisaient.

La réinstallation de VIM dans c: \ VIM a résolu le problème.

+0

Je suggère que votre fichier de balises devrait être local à votre dir. La mise à jour des données utilisateur dans Program Files est plutôt considérée comme une erreur, et sur Vista et Win7, vous ne pouvez même pas le faire sans augmenter explicitement les privilèges. –

3

Oui, Il semble que vim gère en fait des espaces d'une façon bizarre, mais il y a des solutions de contournement (Windows uniquement?): Soit utiliser dos 8.3 noms courts ou utiliser un caractère générique au lieu d'un espace, comme

set tags=c:\program?files?(x86)\vim\tags 
(?)

PS: les fichiers d'étiquette a été chargé avec succès pourrait être vérifié avec le

:echo tagfiles() 
commande

+0

upvote pour l'indice ': echo tagfiles()', merci! – usta

Questions connexes