Enregistrer des sessions sous Vim
Geek
Par djib le jeudi 7 août 2008, 09:30 - Lien permanent
Je viens de découvrir l'existence des sessions sous Vim : le principe est simple, on demande à Vim d'enregistrer la configuration actuelle (onglets, fichiers ouverts, couleurs, ...) et d'en faire un petit script pour pouvoir restaurer tout ça la prochaine fois.
La commande à connaître est :
:mks
qui enregistre un fichier Session.vim dans le répertoire courant.
Pour restaurer la session, il faut se mettre dans le même répertoire et faire un vim -S... tout simplement.
Si le fichier Session.vim existe déjà, vous pouvez faire un :mks! qui forcera son écrasement.
De même si vous voulez choisir le nom du fichier de session pour par exemple en faire plusieurs, vous pouvez utiliser :mks mon_fichier.
Voilà maintenant de quoi travailler encore un peu plus rapidement sur plusieurs projets en parallèle sans avoir besoin de garder 3 vims ouverts en permanence !
Bon code, et pour aller plus loin n'hésitez pas :
:help session



Commentaires
Pour travailler sur des projets regroupant beaucoup de fichiers sous Vim, je n'ai pas trouvé mieux que le plugin «Project».
- navigateur de projet
- gestion du répertoire courant de Vim (utile pour lancer des commandes liées au projet directement dans le bon rep)
- grep intégré
- commandes personnalisées
J'ai utilisé Project pendant quelque temps (avec vim-ruby). Qu'entends tu par grep intégré ? Je n'ai pas entendu parler de ça...
Sur une entrée de l'arborescence Project, tu fais un \g ou \G (récursif), Vim te demande alors les options de grep (genre -iHn) et le motif. Il ne parsera que les fichiers qui sont dans Project (donc pas les .svn) et affichera les fichiers «positifs» dans un split en dessous avec les numéros de ligne. Si tu te places sur un résultat et appuie sur «enter» il ouvrira le fichier à la bonne ligne ... simplement du bonheur.
Ah, mais voilà qui est fort sympathique ! Merci !
Ca c'est un super truc
Merci beaucoup pour cette astuce que je ne connaissait pas, ça te dérange si je reprends ton article sur mon blog ? 
Coucou Benjamin,
Tu peux bien sûr reprendre l'article, mais j'aimerais à ce moment là que tu mettes un lien vers cet article. Merci