J'ai un problème avec omnicppcomplete avec vim. En fait, je ne suis pas sûr si c'est un problème .vimrc ou un problème omnicppcomplete. Dans mon .vimrc, j'ai cette commande pour générer des balises pour mon projet quand je frappe ctrl + F12:Erreur de mappage de clé Vim
map <C-F12> :!ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q .<CR>
Mais il échoue avec cette erreur:
ctags: Unknown option: --c++-n
shell returned 1
Il me semble très étrange parce que Je n'utilise pas l'option --C++ - n dans la commande. Ce qui est encore plus étrange pour moi est que si je viens de lancer la commande manuellement dans mon terminal
ctags -R --sort=yes --c++-kinds=+p --fields=+iaS --extra=+q
Il génère un fichier de balises et tout semble fonctionner très bien. Donc, quelque chose à propos de la cartographie à une clé est en train de tout gâcher. J'ai suivi les instructions sur le wiki ici: http://vim.wikia.com/wiki/C%2B%2B_code_completion.
Je suis surtout confus au sujet de pourquoi il se plaint de --C++ - n quand je ne l'utilise pas. Toute aide est très appréciée.
EDIT:
deux ": qui ctags" dans vim et "qui ctags" dans le retour du shell "/ usr/bin/ctags". Cependant, quand je fais "ls/usr/bin | grep ctags", il retourne à la fois "ctags" et "ctags-exuberant".
J'ai retiré et réinstallé le ctags-exubérant. Maintenant quand j'essaye de frapper c-F12 dans vim, ça ne me donne pas une erreur sur la commande ... ça me ramène au shell pour appuyer sur Entrée pour continuer, mais dans le code quand je frappe un point après un objet, il dit toujours "Motif non trouvé".
Cependant, si je fais un petit fichier de test comme celui-ci dans un répertoire distinct:
struct MyStruct {
int a;
int b;
int long_name;
};
int main(int argc, char** argv) {
MyStruct a;
a.
}
Hit c-F12 pour construire le taglist, les œuvres auto-complétion très bien ... Je veux qu'il travailler si j'ai une classe qui est définie dans un autre fichier (toujours dans le même répertoire).
ma conjecture serait exubérante ctags vs ctags normaux – FDinoff
Merci pour les commentaires. J'ai mis à jour ma réponse en fonction de ce que vous avez demandé. – Sterling