mardi 30 avril 2013

Caractères Appariés

Une fonctionnalité sympathique de certains éditeurs de texte est de pouvoir apparier des caractères et de placer le curseur au milieu pour continuer la frappe. Exemple : vous tapez un guillemet double, l'éditeur en écrit deux et laisse le curseur entre les deux. C'est ce que fait par exemple l'éditeur d'IntelliJ. Le problème est que ce comportement est parfois indésirable et nous ralentit dans certaines situations. Je me suis demandé comment mettre en place ce comportement vim. Ma solution simple, utiliser des mappings en mode insertion.

imap '<TAB> ''<ESC>i
imap "<TAB> ""<ESC>i
imap [<TAB> []<ESC>i
imap {<TAB> {}<ESC>i
imap (<TAB> ()<ESC>i
imap <<TAB> <><ESC>i

Dans cette configuration, je valide l'appariement par Tab. Ça demande un peu de pratique mais ça me convient : je préfère avoir à valider un comportement automatique plutôt que d'annuler son déclenchement.

J'ai vu qu'il existait un plugin pour faire la même chose mais la description et le code ont l'air compliqués ('¬°o°)¬. Alors je crois que je vais continuer à utiliser mes petits mappings.