2010-06-22 3 views
1

J'utilise le plugin vim project pour gérer un projet, et chaque fois qu'un nouveau fichier est lancé, je dois utiliser \ R pour actualiser l'arborescence du projet. C'est très bien, mais j'ai récemment créé un nouveau répertoire dans l'arborescence, et \ R ne le met pas à jour et le place dans le projet.Vim projet plugin R pas d'actualisation des nouveaux répertoires créés

Qu'est-ce que je fais mal?

+0

Avez-vous récemment changé votre 'mapleader'? Il est possible que le plugin de projet utilise réellement ' R' au lieu d'utiliser explicitement' \ R' dans ses mappages. –

+0

Non, je ne l'ai pas fait. Juste curieux fait ce travail pour d'autres personnes? – random

Répondre

2

\R ne met à jour les plis. Les seuls moyens satisfaisants que j'ai trouvé pour ajouter de nouveaux répertoires est soit de supprimer l'entrée et de relancer \C pour créer le projet à nouveau (je n'ai tendance à l'utiliser que s'il y a beaucoup de nouveaux répertoires à inclure) ou à ajouter le répertoire comme manuellement ceci:

Name=Path { 
} 

puis a frappé \r dans ce pli. Bien que je trouve cela parfois frustrant, j'ai tendance à le considérer comme une fonctionnalité maintenant: j'ai un répertoire Documentation dans mon projet, qui contient tous les fichiers et répertoires générés par doxygen, dont il existe des masses. Si j'utilise \C après l'exécution de doxygen, il y a un nombre ridicule de plis, donc je les supprime de la liste. \R puis ne les rajoute pas, ce qui est une bonne chose.

Cela signifie aussi que je peux avoir (par exemple) une structure de dossiers Daft comme ceci:

Project/ 
    Source/ 
     File1.c 
     File2.c 
    Headers/ 
     File1.h 
     File2.h 
    LibraryModules/ 
     FreeRTOS/ 
      Source/ 
       RTOSSource.c 
       portable/ 
        RVDS/ 
         ARM_CM3/ 
          port.c 

et affichez-la:

Project=/path/to/Project { 
    Source=Source { 
    File1.c 
    File2.c 
    } 
    Headers=Headers { 
    File1.h 
    File2.h 
    } 
    LibraryModules=LibraryModules { 
    FreeRTOSSource=FreeRTOS/Source { 
     RTOSSource.c 
    } 
    FreeRTOSPort=FreeRTOS/Source/portable/RVDS/ARM_CM3 { 
     port.c 
    } 
    } 
} 

qui est au moins un peu plus facile à gérer.

+0

J'utilisais \ C à l'origine, je ne savais pas que vous pouviez ajouter manuellement un répertoire comme ça. – random

0

Ma compréhension est que \ R met à jour les replis du plugin de projet récursivement pas les répertoires dans lesquels les fichiers sont stockés. Pour inclure un répertoire que vous devez définir le filtre en conséquence, par exemple .:

filter="newdirectory/*.c *.c *.h" 
0

Si vous avez besoin de mettre à jour un dossier uniquement, vous pouvez l'ajouter manuellement sur le formulaire:

folder=folder { 
} 

Ensuite, positionner le curseur au-dessus de la ligne du dossier et cliquez sur « \ R ». Cela va peupler avec les fichiers mais pas avec les sous-dossiers.

J'ai trouvé que pour plusieurs dossiers, il est plus rapide de supprimer le projet et de le recréer avec '\ C'.

Sous GnomeVim (GVim) et MacVim, il ouvre la fenêtre du dossier GUI en attente d'un fichier à sélectionner pour le dossier racine du projet. C'est un non. Mieux vaut le faire sur un terminal en insérant le chemin racine complet.

Questions connexes