J'ai déjà écrit un plugin pour faire tout le travail avec ctags: Indexer.
Il fournit une génération automatique d'étiquettes indolore pour l'ensemble du (des) projet (s) et maintient les étiquettes à jour. Les balises sont générées en arrière-plan, donc, vous n'avez pas à attendre que ctags génère des balises. Vous pouvez l'utiliser indépendamment ou en tant que module complémentaire pour un autre plugin project.tar.gz.
Dans la première façon, vous pouvez déclarer vos projets ~/.indexer_files
comme ceci:
[CoolProject]
/home/user/cool_project
[AnotherProject]
option:ctags_params = "--languages=c++"
/home/user/another_project/src
/home/user/another_project/lib
Et puis, lorsque vous ouvrez un fichier à partir /home/user/cool_project
, tout ce projet sera indexé par ctags. Lorsque vous ouvrez des balises d'un autre projet, des balises sont générées pour celui-ci. Les tags de différents projets ne sont jamais mélangés. Lorsque vous enregistrez un fichier à partir du projet, les balises sont mises à jour silencieusement. Vous n'avez pas à vous en soucier, ça marche.
Pour des informations détaillées, voir l'article: Vim: convenient code navigation for your projects, qui explique de manière approfondie l'utilisation d'Indexer + Vimprj.
Il est testé avec succès sur Vim 7.3, sur les systèmes suivants:
Archlinux
Ubuntu 10.4
Windows XP
Mac OS X Lion
points supplémentaires importants! – Blixtor
@AI, existe-t-il une solution similaire pour Linux ?! – Rafid
Pour Linux, j'imagine que vous pouvez exécuter la commande avec & pour la pousser en arrière-plan, non? –