Substituer avec le contenu du registre ou des lignes entre ailleurs dans le fichier dans Vim

J’utilise Vim, et je veux substituer un texte d’espace réservé à une chaîne longue, couvrant plusieurs lignes, qui est déjà écrite ailleurs dans le fichier.

Est-il possible de remplacer un motif par le contenu d’un registre? Quelque chose comme

:%s/foo/ 

Sinon, est-il possible de remplacer par une gamme de lignes? quelque chose comme

 :%s/foo/ 

Selon http://vim.wikia.com/wiki/Search_and_replace Il apparaît:

 :%s/foo/\=@a/g 

En outre, appuyer sur a va insérer le contenu du registre a .

Cool – Je n’ai jamais su ça. Bonne question.

Quelques autres choses à faire avec : http://vimdoc.sourceforge.net/htmldoc/cmdline.html#c_CTRL-R

 :%s/foo/\=getline(10, 15)/g :%s/foo/\=join(getline(10, 15))/g