2010-09-12 1 views
3

je suivais le guide à teuton.blogspot.com de mettre en place autocomplétion, quand je courais la commande:est-il un moyen de compression de la tagfile dans vim

ctags –R --c++-kinds=+p --fields=+iaS --extra=+q \ 
    -f ~/.vim/commontags /usr/include

pour générer un tagfile, pour se rendre compte que le La commande génèrerait un fichier 'commontags' de 1.5GB – un peu plus grand que ce que j'aurais aimé être, sans aucun doute. Donc, je me demandais s'il y avait un moyen de compresser le fichier et si Vim le reconnaissait encore?

J'ai essayé de l'exécuter via gzip, qui l'a réduit à 25 Mo, mais je n'ai pas eu de chance d'obtenir vim pour utiliser ce fichier à la place.

Des idées? Je serais reconnaissant!

/B2S

Répondre

5

L'utilisation --excmd=number devrait permettre de réduire la taille du fichier d'environ 50% parce que ctags ne fera que les numéros de ligne de magasin de matchs au lieu d'un modèle de recherche. Cela devrait être bon si les fichiers dans /usr/include ne changent pas très souvent.

+0

Eggselent! Pas tout à fait la compression que j'espérais, mais bien sur le chemin. Le fichier d'étiquette est passé de 1,5 Go à 116 Mo. Merci! – Born2Smile

5

Même si vous pouvez compresser les balises fichier vim aurait encore les frais généraux de celui-ci décompressé pour les recherches.

La meilleure chose à faire est d'exclure ce dont vous n'avez pas besoin. La plupart des fichiers/usr/include/dev sont probablement nécessaires à l'installation des paquets source.

Il est préférable de créer un fichier de tags correspondant à vos projets de développement. Fondamentalement, optez pour un répertoire lorsque vous déposez vous ne pouvez pas sauter sur le tag. Plutôt que de construire une énorme liste de tags non pertinents. Même si votre machine est assez rapide pour le traiter, vous devrez toujours faire face à des noms en double.

Si vous voulez aspirer tout ce que vous pourriez utiliser - exclure pour l'abaisser à une taille gérable. c'est à dire. une liste noire plutôt qu'une approche de liste blanche.

man ctags 
/--exclude <-- to search for exclude 

je personnellement faire quelque chose comme

`ctags –R --c++-kinds=+p --fields=+iaS --extra=+q \ 
-f ~/.vim/commontags /usr/include/lib_i_need_a /usr/include/lib_i_need_b ` 
Questions connexes