Hilighting de mot-clefs dans Vim

J’écris mes articles pour GLMF directement en HTML/CSS avec Vim. Seulement voilà, la colorisation syntaxique c’est bien beau mais c’est encore mieux lorsque c’est adapté à ce qu’on fait. Pour ma part, en écrivant, j’ai pour habitude de lâcher de ci de là des TODO et autres FIXME. Ces mot-clefs sont mis en valeur dans un commentaire d’un source en C par exemple mais pas dans du HTML.

La solution consiste alors à se créer un ~/.vim/syntax puis d’y copier le fichier html.vim d’origine depuis /usr/share/vim.

Enfin, on y ajoute une simple petite ligne :
syn keyword Todo FIXME TODO
Et vala…

Vim, GNU Screen et souris

Peut-être avez-vous activé le support de la souris dans Vim avec un petit set mouse=a dans votre ~/.vimrc. Ce support ne fonctionne qu’avec certains émulateurs de terminaux (Xterm, RXVT, etc) mais pas avec GNU Screen où l’utilisation de la souris sélectionne simplement le texte dans le terminal, bof.

Vous pouvez régler le problème rapidement en précisant à Vim la manière de gérer la souris pour le terminal en question. Il suffit d’un set ttymouse=xterm2 et le tour est joué. Et hop, un GNU Screen avec une session sur /dev/ttyUSB0, une pour le code dans Vim et une pour make et compagnie… Total bonheur.

Vim et indentation

Vim gère le plus parfaitement du monde l’indentation du code (quel qu’il soit) en fonction du type de fichier détecté. Il est possible de désactiver l’auto-indentation lors de la saisie (pratique pour des copier/coller à la souris) avec :
:set noautoindent
Autre fonction plus qu’intéressante, il est possible de réindenter un source directement depuis Vim et sans utiliser indent. Pour cela on sélection le morceau de code en mode VISUAL et on utilise la touche =

Pour une ligne seul on utilisera ==