4 hacks pour rendre votre utilisation de Vim plus agréable

Le 19/04/2012

Dans Développement

Parce qu’on ne saura jamais tout sur Vim, voilà pour vous un petit article de 5 petits hacks ou ressources.

Utiliser pathogen pour gérer vos plugins

Je suppose que vous connaissez déjà presque tous pathogen, mais ce plugin est tellement bon qu’un rappel pour ceux qui n’y sont pas passés et ceux qui ne connaissent pas ne fera pas de mal.

Pathogen est un plugin qui permet de simplifier la gestion et l’installation des autres plugins. Plus besoin d’aller dans son .vimrc a chaque fois, plus besoin de glisser tous les fichiers du plugin que l’on veut installer dans une centaine (un peu moins, peut être, ok ^^) de fichiers. On glisse juste le plugin dans le dossier bundle et voilà, fin de partie.

Pour l’installer, allez tout d’abord le télécharger ici, et mettez le dans votre dossier autoload. Ensuite, ouvrez votre .vimrc, et ajoutez y:

call pathogen#infect()

Voilà, pathogen est installé. Il ne vous reste plus qu’à créer dans votre dossier .vim un dossier bundle, et d’y glisser un plugin (J’aime utiliser git pour installer mes plugins)

cd ~/.vim/bundle
git clone git://github.com/tpope/vim-fugitive.git


Démarrez vim, votre plugin fonctionne!

Faire des feuilles de configuration dépendantes d’une extension

Vous aimeriez bien choisir un thème de couleur, ainsi que certaines configurations, en fonction du type de fichier que vous ouvrez ? Voilà la solution.

Pour commencer, créez un dossier partials dans votre .vimrc (ou tout autre dossier, c’est juste pour le rangement).

Ensuite, créez un fichier dans ce dossier, que nous appellerons par exemple ruby.vim. Mettez y votre configuration spécifique, ainsi qu’un color sheme différent.

Et pour finir, ajoutez cela dans votre .vimrc:

autocmd   FileType rb ru rake source ~/.vim/ruby.vim

Votre fichier de confif ruby.vim s’appliquera donc pour tous les fichiers avec comme extension rb, ru ou rake.

Que mettre dans une feuille spécifique pour le markdown et le txt

Je suis sûr que vous savez tous faire des fiches de configuration dépendantes de l’extension, ce qui est très bien, car ça sera nécessaire pour cette partie.

Connaissez vous le markdown ? C’est une syntaxe permettant de formater des textes simplement, et qui peut ensuite être transformée en HTML. Je l’utilise pour tout ce qui est mise en forme de notes.

Et je me suis heurté à un problème très désagréable : J’utilise vim surtout pour programmer, et donc ne gère pas le retour à la ligne quand j’atteins le bord de la fenêtre. Même si j’active le retour à la ligne, le résultat est réellement décevant : les mots se coupent sans respecter les règles de césure. J’ai donc du farfouiller un peu, pour trouver les quelques lignes que je vous livre ici :

set wrap
set lbr
set nonu
set noai
set spell
set spl=fr spell

Petite explication:

wrap permet le retour à la ligne,
lbr force le retour à la ligne sur un mot
nonu et noai enlèvent l’indentation auto et les numéros sur la gauche
Et enfin, spell et spl permettent de démarrer la correction orthographique en français.

Utiliser gVim

Vous connaissez gVim? C’est une version de vim pouvant se lancer sans terminal, et qui supporte le 24bit. Sous linux (mais je suppose qu’il réagit de manière identique sous toutes les plateformes), il charge un fichier .gvimrc en plus du fichier .vimrc.

Il a un gui (bon, que j’aime pas, mais c’est un gui quand même) et est donc parfait pour les gens ayant du mal à se mettre à vim. Ajoutez y un simple set mouse=a, et vous serez vraiment en territoire connu.

Sauf que voilà, la différence de couleurs entre gVim et vim dans un terminal est assez vite problématique : Comment faire tourner ses thèmes préférés que l’on a prévus pour vim sur gvim, et inversement ? Certains thèmes (desert, par exemple) ont vraiment des couleurs qui changent du tout au tout… La solution est un petit plugin, du nom de csapprox, qui permet de faire fonctionner tous les thèmes (et une partie des plugins) fait pour gVim sur vim, de manière (presque) transparente. On perd en finesse, mais ça marche !