Come sostituire su più righe?


10

Vorrei inserire una parola in più righe, c'è qualche comando simile

:[2,3,5,7,11]s/^/word\ /g

quale verrebbe inserito wordall'inizio della riga 2, riga 3, riga 5, riga 7 e riga 11?

Qui, più linee non sono contigue.

Risposte:


16

Eseguire una sostituzione su più righe consecutive è abbastanza semplice:

:2,11s/^/word /

ma un intervallo non può coprire linee non consecutive.

Con un po 'di creatività, tuttavia, è del tutto possibile aggirare quella "limitazione".

Infatti, puoi ripetere l'ultima sostituzione con :&o :&&(il primo non manterrà le bandiere originali, il secondo lo farà) in modo da poter concatenare le sostituzioni abbastanza facilmente:

2s/^/word /|3&|5&|7&|11&

Guarda :help :&e scorri per :&&.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.