Vim : facilitez vous le Yaml

Publié le par greg

Pour tous les symfonistes (et quelques autres), manipuler des fichiers yml d'une bonne centaine de lignes minimum est une activité normale et quotidienne, indispensable pour se mettre de bonne humeur au réveil. Pour ceux qui ne connaitraient pas le parser Yaml, il s'agit d'un animal susceptible, ne tolérant que les indentations de 2 espaces et haïssant les tabulations au point de refuser de parcourir un fichier en contenant (même une petite). Il est assez facile de configurer Vim une bonne fois pour toute afin de proposer les options suivantes :

- indentation par défaut : 2 espaces
- transforme les tabulations en 2 espaces
- affiche les caractères de fin de ligne, les tabulations et espaces entre le dernier caractère et la fin de la ligne

set tabstop=2

      set shiftwidth=2

      set expandtab

      set listchars=eol:¤,trail:-


Les listchars ne seront affichés que si vous le demandez avec un «set list» pour le désactiver : «set nolist»

Cela évite les problèmes les plus courants. Par contre, dès que vos Yml deviennent consistants, il devient délicat de repérer les niveaux d'imbrication des blocs. Il est pour cela possible de surligner la ligne et la colonne courante pendant le mode édition. Vim vous permet en effet de modifier sa conf suite à un évènement. Demandez le surlignage lors du passage en mode édition et seulement pour les fichiers Yml pour les colonnes :

" Changement de configuration lors des transitions

       " mode commande & mode insertion

       autocmd insertLeave * set nocursorline

       autocmd insertEnter * set cursorline

       autocmd insertLeave *.yml set nocursorcolumn

       autocmd insertEnter *.yml set cursorcolumn

       "  Le choix des couleurs...

       highlight CursorLine                    cterm=none ctermbg=DarkBlue

       highlight CursorColumn                  cterm=none ctermbg=DarkRed



Et voila le travail, en mode insertion, les lignes sont surlignées en bleu et dans les fichiers Yml uniquement, la colonne courante est marquée en rouge pour permettre de voir rapidement le niveau d'indentation des blocs :


Publié dans vim

Pour être informé des derniers articles, inscrivez vous :
Commenter cet article