Vim Project & symfony
Bon après l'article fleuve d'hier, je vais faire (relativement) court aujourd'hui, je vais vous parler d'un logiciel libre qui me tient particulièrement à coeur dont le nom commence par V et finit par M (buzze à ma gauche) : vim !! et le plugin Project.
J'ai lu cet excellent article sur Project et je n'ai pas pu m'empêcher d'essayer ... et là, ma vie a (une fois de plus) changé. Voici l'outil que j'attendais depuis que j'utilise Vim pour coder en PHP : un explorateur de projet. Son principe de fonctionnement est tellement simple que cela en est un peu déroutant au début... je m'explique.

Project sur la gauche avec le modèle à portée de souris
Project est un plugin qui gère tout bêtement un fichier texte. Ce fichier est par défaut à la racine de votre home et possède tous les projets sur lesquels vous travaillez. Lorsqu'il est chargé dans Vim avec le bon plugin, ce fichier a un comportement particulier, il vous permet d'ouvrir directement dans un split les fichiers auxquels il fait référence et il est capable de dire à Vim de changer son répertoire courant.
Prenons un exemple, une fois le plugin installé, vous voulez travailler sur un projet symfony. Ouvrez un shell et tapez tout simplement «vim». Une fois lancé rentrez «:Project». Une barre apparait alors à gauche et elle est vide si c'est la première fois que vous lancez Project. Créons un nouveau projet. Pour cela il suffit de se placer dans la fenêtre et de rentrer \C. Vim vous pose alors quelques question afin de créer une entrée projet pour vous.
Le path : Le chemin du répertoire, «/var/www/mon_projet»,
Le CD : le chemin du nouveau répertoire courant de Vim si vous voulez le changer «.» permettra de lui affecter la même valeur que pour le path (pratique pour lancer l'utilitaire symfony depuis Vim).
Les flags : permettent d'influer sur les recherchers etc etc ... les flags par défaut sont très bien.
Les filtres : permet d'indiquer quels fichiers vous voulez voir apparaitre par exemple «*.php *.yml *.ini *.sql *.css *.js»
Une fois ces renseignement rentrés, Vim va chercher tous les fichiers et créer l'arborescence du projet pour vous. Il est alors possible de surfer comme un explorateur de fichier ... mais ce n'est pas un explorateur ! C'est un fichier texte. Vous pouvez prendre les entrées, effacer celles qui ne vous servent à rien (cache, log), les déplacer pour mettre à coté les unes des autres celles que vous utilisez souvent (/lib/model et /app). Mieux que ça ! Vous pouvez créer une arborescence logique qui répond plus à vos besoins, pourquoi ne pas mettre dans un même répertoire virtuel mes les modules de mes application et mon modèle (sans afficher om et base) pour ne pas avoir à jongler sans cesse avec mille répertoires ...

Pour info, presser «espace» vous permet d'avoir une vue agrandie (comme sur l'image à droite), «enter» vous permet d'ouvrir le fichier dans le dernier split utilisé ... je vous laisse taper «:help Project» pour voir la page d'aide de ce merveilleux plugin qui n'a pas changé depuis 2006 ! Quand ça marche ...
J'ai lu cet excellent article sur Project et je n'ai pas pu m'empêcher d'essayer ... et là, ma vie a (une fois de plus) changé. Voici l'outil que j'attendais depuis que j'utilise Vim pour coder en PHP : un explorateur de projet. Son principe de fonctionnement est tellement simple que cela en est un peu déroutant au début... je m'explique.

Project sur la gauche avec le modèle à portée de souris
Project est un plugin qui gère tout bêtement un fichier texte. Ce fichier est par défaut à la racine de votre home et possède tous les projets sur lesquels vous travaillez. Lorsqu'il est chargé dans Vim avec le bon plugin, ce fichier a un comportement particulier, il vous permet d'ouvrir directement dans un split les fichiers auxquels il fait référence et il est capable de dire à Vim de changer son répertoire courant.
Prenons un exemple, une fois le plugin installé, vous voulez travailler sur un projet symfony. Ouvrez un shell et tapez tout simplement «vim». Une fois lancé rentrez «:Project». Une barre apparait alors à gauche et elle est vide si c'est la première fois que vous lancez Project. Créons un nouveau projet. Pour cela il suffit de se placer dans la fenêtre et de rentrer \C. Vim vous pose alors quelques question afin de créer une entrée projet pour vous.
Le path : Le chemin du répertoire, «/var/www/mon_projet»,
Le CD : le chemin du nouveau répertoire courant de Vim si vous voulez le changer «.» permettra de lui affecter la même valeur que pour le path (pratique pour lancer l'utilitaire symfony depuis Vim).
Les flags : permettent d'influer sur les recherchers etc etc ... les flags par défaut sont très bien.
Les filtres : permet d'indiquer quels fichiers vous voulez voir apparaitre par exemple «*.php *.yml *.ini *.sql *.css *.js»
Une fois ces renseignement rentrés, Vim va chercher tous les fichiers et créer l'arborescence du projet pour vous. Il est alors possible de surfer comme un explorateur de fichier ... mais ce n'est pas un explorateur ! C'est un fichier texte. Vous pouvez prendre les entrées, effacer celles qui ne vous servent à rien (cache, log), les déplacer pour mettre à coté les unes des autres celles que vous utilisez souvent (/lib/model et /app). Mieux que ça ! Vous pouvez créer une arborescence logique qui répond plus à vos besoins, pourquoi ne pas mettre dans un même répertoire virtuel mes les modules de mes application et mon modèle (sans afficher om et base) pour ne pas avoir à jongler sans cesse avec mille répertoires ...

Pour info, presser «espace» vous permet d'avoir une vue agrandie (comme sur l'image à droite), «enter» vous permet d'ouvrir le fichier dans le dernier split utilisé ... je vous laisse taper «:help Project» pour voir la page d'aide de ce merveilleux plugin qui n'a pas changé depuis 2006 ! Quand ça marche ...
Publicité