Incrémenter lors d'un copier-coller
Par Dimitri Robert, jeudi 20 avril 2006 à 11:02 :: Vim :: #118 :: rss
Petite astuce brute de décoffrage que je viens de mettre en place et qu'il me faudra intégrer dans la prochaine version de spip.vim.
Je voulais pouvoir, d'une simple touche (donc avec macro derrière) insérer un tag <imgXX|center> à l'endroit où se trouve le curseur. Sachant que XX est le numéro de l'image et que je voudrais en prime que le XX inséré soit celui de l'image qui précède dans le fichier incrémenté de 1.
Attention, c'est vraiment du brut. J'utilise la fonction d'incrémentation [Ctrl] + A (notez le pendant [Ctrl] + X pour décrémenter). Pour l'utiliser, placez-vous en mode commande, à proximité (avant) d'une valeur numérique et pressez [Ctrl] + A. Le curseur se déplace automatiquement sur la prochaine valeur et incrémente de 1. Notez que si vous tapez 10[Ctrl] + A, vous incrémentez de 10. S'il y a un tiret devant la valeur, cela sera interprété comme un nombre négatif.
Voici maintenant mes macros (modes commande et insertion) :
map <F8> mz?<img<CR>Y'zP0<C-A> imap <F8> <ESC>mz?<img<CR>Y'zP0<C-A>o
Détails :
mzplace un marqueur nommézà la ligne courante (utile pour y revenir) ;?<img<CR>recherche le motif « <img » en remontant le fichier ;Ycopie toute la ligne ;'zon revient sur la ligne marquéez;0on se place en début de ligne ;<C-A>on incrémente la valeur numérique la plus proche (celle que l'on veut évidemment).


Commentaires
Aucun commentaire pour le moment.
Ajouter un commentaire
Les commentaires pour ce billet sont fermés.