Industrialiser la gestion de sa configuration vim et son partage

Industrialiser la gestion de sa configuration vim et son partage




Mise en place





  1. Le but est de n'avoir qu'un répertoire à gérer pour la configuration de vim, soit .vim et pas en plus .vimrc


  2. Utiliser git pour se simplifier la vie dans la gestion des changement de configuration et de déploiement


  3. Utiliser un plugin qui nous facilitera la gestion des plugins


Sur votre cloud git (github, bitbucket, auto-hébergement etc…) initialisez votre dépôt. Je l'ai appelé .vim



Initialisation du dépôt localement



mkdir ~/.vim/
cd ~/.vim/
git init
git remote add origin ssh://git@bitbucket.org/mornik/.vim.git



Ajout du vimrc de base




J'utilise comme base un vimrc perso. Au lieu de le mettre dans le $HOME je le met dans le répertoire .vim et je fais un lien dessus :
ln -s ~/.vim/.vimrc ~/.vimrc



Mise en route du gestionnaire de plugins



Installation




Pour gérer nos plugins, on va utiliser le plugin Vundle
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle


Configuration





  • La première étape est d'ajouter en début de .vimrc les paramètres permettant un bon chargement de vundle :




  1. activer le mode non compatible avec le vi des 70's


  2. désactiver la détection automatique (et donc les exécutions automatique) du type de fichier


  3. ajouter un path de vim le répertoire de vundle


  4. Exécuter vundle


set nocompatible               " be iMproved
filetype off " required!

set rtp+=~/.vim/bundle/vundle/
call vundle#rc()



  • La deuxième étape est l'ajout des plugins que l'on veux gérer avec vundle


Il s'agit de rajouter une ligne par plugin, commençant par Bundle suivi du nom du dépôt github.
Le premier à gérer est vundle lui même, on ajoute donc dans notre .vimrc
Bundle 'gmarik/vundle'



  • La dernière étape, en fin de fichier .vimrc on active la détection du type de fichier


" On active l'indentation automatique si les commandes automatiques sont activees
" ----------------------------------------------------------------------------------------------------
if has("autocmd")
filetype plugin indent on
endif



Mise à jour du dépôt




Maintenant que nous avons finis de configurer notre .vimrc nous allons pouvoir mettre à jour notre dépôt git.


  • gitignore


Juste avant nous allons créer le fichier .gitignore histoire de sortir de notre dépôt les répertoires backup, swap ainsi que le fichier .gitignore
vi ~/.vim/.gitignore
.netrwhist
backup/
swap



  • Maj du dépôt


git add .vimrc
git commit -m "Mise en place du vimrc et de la conf pour vundle"
git push -u origin master



  • Ajout et activation du plugin couleur peaksea


" peaksea => plugin couleur       
Bundle 'peaksea'
colorscheme peaksea

Note : le dépôt appartenant au user vim-scripts il n'est pas nécessaire de préciser son nom dans la commande Bundle
Puis exécution de la commande
:BundleInstall

Attention ne pas oublier de mettre dans le .vimrc :
colorscheme peaksea

puis de mettre à jour le dépôt git :
git commit -a -m "Installation et activation du plugin couleur peaksea"
git push

D'après la doc, il y a 3 possibilité pour ajouter un plugin :


  • Si le plugin est sur github et dans vim-script :


Bundle 'monplugin'



  • Si le plugin est sur github


Bundle 'user/plugin'



  • Si le plugin est sur un autre dépôt git :


Bundle 'git://git.monsite.com/projet.git'



Rappel des commandes importantes




Installation des plugins



:BundleInstall



Mise à jour des plugins



:BundleUpdate



Suppression d'un plugin




Supprimer la/les ligne(s) correspondante(s) dans le fichier .vimrc, puis exécuter :
:BundleClean



Déploiement




Si on doit déployer notre configuration vim sur un nouveau poste il suffit :


  1. Cloner le dépôt :
    git clone https://github.com/mornik/.vim



  2. Créer le lien
    ln -s ~/.vim/.vimrc .vimrc



  3. Installer vundle :
    git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle



  4. Installer les plugins (Ignorer les éventuels messages d'erreur à ce premier lancement)
    vim +BundleInstall +qall



Vus : 405
Publié par Alexandre LUCAZEAU : 35