vendredi 3 avril 2015

Un peu de typographie avec Vim

Pour changer, une note en Français.

Ces derniers temps, j’ai lu plusieurs articles sur les règles de typographie, notamment en Français. Ces règles sont souvent bafouées sur le Net où il est fréquent de constater des espaces insécables oubliées, des traits d’union utilisés à la place de tirets cadratins ou même le rejet systématique des ligatures. Je n’ai même pas le cœur d’évoquer le traitement infligés aux guillemets, à l’apostrophe et aux majuscules accentuées.

Le fait est que l’application de ces règles est malaisée sur Internet, car le contenu est rarement écrit au travers d’un éditeur de texte perfectionné. Cela oblige l’auteur à utiliser ces immondes entités HTML comme « œ ».

Avec Vim, le calvaire typographique est terminé. Vim propose en effet une fonctionnalité géniale : les digraphs. Les digraphs permettent de remplacer la saisie d’un caractère unicode – qui se fait normalement à partir de son code – par la saisie de deux caractères, choisis de façon à pourvoir se rappeler facilement de l’effet de leur combinaison. Le « mode » digraph s’obtient avec la combinaison ctrl + k en mode insertion. Ainsi tapez ctrl + k puis :

  • oe pour obtenir œ ;
  • E' pour obtenir É ;
  • << pour obtenir « (et inversement) ;
  • <espace><espace> pour obtenir une espace insécable.

etc…

D’autres sont moins instinctives :

  • -N donne un tiret demi-cadratin (–) ;
  • -M donne un tiret cadratin (—) ;
  • '9 donne l’apostrophe (’).

Il est également possible de créer ses propres digraphs. Par exemple, les points de suspensions… Il suffit, pour cet exemple, de rajouter cette ligne dans votre fichier .vimrc. Ainsi, le digraph pour les points de suspension sera « 3. ».

digraphs 3. 8230

Et pour faciliter le processus, vous pouvez carrément utiliser un plugin qui va faire les remplacements directement au moment de la frappe. J’ai vu UniCycle pour le faire en anglais. Je l’ai forké pour l’adapter au Français. Ça doit prendre une demi heure à faire mais je n’ai pas pris le temps !

Deux dernières choses. Tout d’abord, il existe des formes de ligatures plus fines encore, comme les enchainements de f, de t et de i. Même pour moi cela commence à aller loin, en tout cas pour l’instant. Les digraphs de base de Vim sont limités pour ça, et parfois même les fontes. Par exemple, pour f et i, le digraph fi donne « fi » mais pour t et i, le digraph ti donne le hiragana chi (ち).

Enfin, vous pouvez encore plus loin en utilisant la gestion des césures, via la propriété CSS hyphens. Même si c’est encore expérimental, c’est plutôt cool, non ?

Maintenant, vous n’avez plus d’excuses pour ne pas utiliser Vim à chaque fois que vous voudrez taper du texte !