Vim Project & symfony

Publié le par greg

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.

vm01.png
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 ...

vm02-copie-1.png
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é

Publié dans vim

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article
H
<br /> Bonjour,  J'ai lu vos articles sur vim et c'est super car cet éditeur est meconnu. J'ai suivi quelques plugin pour vim que vous avez proposé comme : Project.  J'aimerais savoir s'il<br /> existe un plugin qui permet de faire une édition de code source python ou autre avec possibilité de faire un "rollover" du code ? Je veux dire par là d'avoir une commande pour 'enrouler et<br /> dérouler' le code d'une classe ou d'une fonction dans un code très long ?<br /> Pour information, je vous signale un complément du plugin 'project'  :  http://pypi.python.org/pypi/mkvimproject/0.4.2.3   J'ai essayé ça fonctionne super. ;-)<br /> <br /> <br />
Répondre
G
<br /> Bonjour et merci pour le lien, je vais aller regarder ça. Pour le folding de code dans python, il est possible de demander à Vim de replier le code par bloc définis par une règle précise. Il est<br /> ainsi possible de demander à Vim de considérer des blocs ayant la même indentation (ce qui vous intéresse dans python).<br /> <br /> :help foldmethod<br /> <br /> <br />
G
Sérieux c'est vraiment supaire !!! C'est exactement ce que je cherchais ! Bravo et merci pour tous ces articles sur vim & co.
Répondre
G
<br /> merci, ça fait plaisir<br /> <br /> <br />
G
Hey coolR4f ! Alors là, heureusement que tu habites loin je t'aurai volontier embrassé sur la bouche ! Une extension pareille couplée avec un correcteur orthographique ... c'est vraiment top !Merci :'-)
Répondre
R
Arf, j'oubliais de te demander également un petit billet sur l'extesnion de Firefox (oups, pardon : IceWeasel) : It's All Text : https://addons.mozilla.org/fr/firefox/addon/4125Ca permet d'utliser n'importe quel éditeur externe pour éditer ses textarea en HTML (donc les champs textes de n'importe quel site). Lorsqu'on doit faire plus de 10 lignes, ça vaut vraiment le coup !A++ coolgreg,    Raph
Répondre
R
Salut Coolgreg,Comme tu es apparemment repertir sur l'idée du VimOS (système d'exploitation basé sur Vim ;-), tu devrais faire une petite bafouille sur la correction orthographique sous Vim.Enfin bon, il a fallu que ce soit quelqu'un d'autre que toi qui me la fasse découvrir :    http://www.think-underground.com/index.php?post/2008/05/09/La-correction-orthographique-sous-VimTu connaissais ?A+    Raph
Répondre