Industrialiser la gestion de sa configuration vim et son partage
Industrialiser la gestion de sa configuration vim et son partage
Mise en place
- Le but est de n'avoir qu'un répertoire à gérer pour la configuration de vim, soit .vim et pas en plus .vimrc
- Utiliser git pour se simplifier la vie dans la gestion des changement de configuration et de déploiement
- 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 :
- activer le mode non compatible avec le vi des 70's
- désactiver la détection automatique (et donc les exécutions automatique) du type de fichier
- ajouter un path de vim le répertoire de vundle
- 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 :
- Cloner le dépôt :
git clone https://github.com/mornik/.vim
- Créer le lien
ln -s ~/.vim/.vimrc .vimrc
- Installer vundle :
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle
- Installer les plugins (Ignorer les éventuels messages d'erreur à ce premier lancement)
vim +BundleInstall +qall