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
Print Friendly
Vus : 1800
Publié par Alexandre LUCAZEAU : 35