Como substituir em várias linhas?


10

Eu gostaria de inserir uma palavra em várias linhas, existe algum comando como

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

que seria inserido wordno início da linha 2, linha 3, linha 5, linha 7 e linha 11?

Aqui, várias linhas não são contíguas.

Respostas:


16

Realizar uma substituição em várias linhas consecutivas é bastante fácil:

:2,11s/^/word /

mas um intervalo não pode cobrir linhas não consecutivas.

Com um pouco de criatividade, porém, é inteiramente possível contornar essa "limitação".

De fato, você pode repetir a última substituição com :&ou :&&(o primeiro não preservará os sinalizadores originais, o último o fará), para que você possa encadear substituições facilmente:

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

Veja :help :&e role para ver :&&.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.