Gérer ses plugins vim avec :GetLatestVimScripts

J’ai envie d’attirer l’attention sur une fonctionnalité sympa de vim, qui pourtant semble méconnue de pas mal de monde, même des utilisateurs avancés: la commande “:GetLatestVimScripts”, ou son alias “:GLVS”.

Le principe est simple: vous installez un script pour vim, et vous voulez que ce script se maintienne à jour (c’est à dire que vous voulez profiter des versions successives du script par l’auteur). Au lieu de vous embêter à vérifier si il y a des nouvelles versions périodiquement et d’avoir à suivre un procédé d’installation qui differera selon que vous ayez affaire à un vimscript, un vimball, ou une quelconque archive, vous pouvez tout simplement dire à vim de gérer tous vos scripts d’un coup. Pour cela, il vous suffit de maintenir à jour la liste des scripts qui vous intéressent dans le fichier ~/.vim/GetLatest/GetLatestVimScripts.dat . Le format de ce fichier est simple:

<numéro du script> <numéro de version installée du script> :AutoInstall: <nom du script>

Le numéro du script est dans l’url sur sourceforge, donné par “scriptid”. La version installée du script est maintenue directement par la commande “:GLVS”. Si vous voulez être sûr que la mise à jour soit faite, mettez 1.

Maintenant, votre répertoire ~/.vim est assez facile à transporter. J’ai pour habitude d’en garder une copie “vide”, avec une arborescence sous la forme:

.vim/
.vim/GetLatest/
.vim/GetLatest/GetLatestVimScripts.dat

Un test?

Vous pouvez tester l’astuce assez simplement: Sauvez votre répertoire ~/.vim (si vous en avez un) en le bougeant sous un autre nom, et faites en un nouveau ou vous recréerez l’arborescence décrite précedemment. Insérez dans GetLatestVimScripts.dat les lignes suivantes:

ScriptID SourceID Filename
--------------------------
# Les lignes commençant par '#' sont des commentaires
# Les deux premières lignes sont nécessaires
#
# Script permettant d'avoir une complétion grâce à la touche <tab>
# le premier numéro a été obtenu dans l'url du script:
# http://www.vim.org/scripts/script.php?script_id=1643
1643 1 :AutoInstall: supertab.vim

- Ouvrez vim, tapez :GLVS. Le script va se mettre à jour de lui-même.

- Vous pouvez tester le script, assez sympa, qui permet de compléter les mots que vous tapez avec la touche de tabulation (pour savoir comment ça se paramètre, lisez le script, pour l’instant sa doc est incluse en commentaire dans le code – j’ai proposé au mainteneur un patch avec une vraie doc vim, accessible par :help et j’ai bon espoir qu’il l’inclue dans une future version)

- Fin de la démo. Vous pouvez supprimer votre répertoire .vim et remettre votre ancienne configuration (si vous en aviez une).

Une petite explication supplémentaire s’impose. Le mot clé :AutoInstall: dans la ligne que j’ai préconisée n’est pas obligatoire. Cela vient du fait que tous les scripts ne sont pas installables automatiquement (mais tous sont téléchargeables automatiquement). Cela dit, les scripts sourceforge sont assez standards et la plupart seront autoinstallables même si l’auteur du script ne connaissait pas la fonctionnalité. Si jamais votre script ne s’installe pas correctement, vous pouvez écrire à son auteur afin qu’il le modifie (ça marche, je l’ai fait récemment avec zenburn en aidant son auteur à le mettre sous forme de vimball) et en attendant, retirer ce mot clé.

En espérant que ça serve…
En bonus, voici la liste des plugins que j’utilise. C’est très orienté C++. Mon conseil, c’est de vous abonner au flux rss de vim.org, comme ça vous serez au courant des plugins sympa qui sortent.

ScriptID SourceID Filename
--------------------------
39   1 :AutoInstall: matchit.zip
40   1 :AutoInstall: Drawit.vim
273  1 :AutoInstall: taglist.zip
294  1 :AutoInstall: Align.vim
302  1 :AutoInstall: AnsiEsc.vim
415  1 :AutoInstall: zenburn.vim
489  1 :AutoInstall: Manpageview.vim
610  1 :AutoInstall: ctags.vim
642  1 :AutoInstall: getscript.vim
1066 1 :AutoInstall: cecutil.vim
1075 1 :AutoInstall: netrw.vim
1116 1 :AutoInstall: maplesyrup.tar.gz
1195 1 :AutoInstall: vis.vba.gz
1502 1 :AutoInstall: vimball.vim
1506 1 :AutoInstall: LargeFile.vim
1520 1 :AutoInstall: omnicppcomplete.zip
1643 1 :AutoInstall: supertab.vim
1658 1 :AutoInstall: NERD_tree.zip
1697 1 :AutoInstall: surround.vim
2136 1 :AutoInstall: repeat.vim
2164 1 :AutoInstall: renamec.vim
2527 1 :AutoInstall: jpythonfold.vim
2540 1 :AutoInstall: snipMate.zip
2645 1 :AutoInstall: colourscheme_bandit.vim
2646 1 :AutoInstall: ctags_highlighting.vba
Vus : 938
Publié par Christophe-Marie : 13