vim encontra e substitui em torno de uma string

2

No VIM, se, por exemplo, eu tiver o texto

http://a.com
http://b.com

é possível encontrar todas as linhas (a linha inteira) e substituí-las por algo antes e depois, como:

<a href="http://a.com">http://a.com</a>
<a href="http://b.com">http://b.com</a>

Observe que o texto de todas as linhas é repetido. Uma vez para o href e outro para o texto.

    
por Alexandre Santos 03.02.2016 / 20:46

2 respostas

5
:%s:.*:<a href="&">&</a>:

O mesmo que em ed / sed / perl ...

Outro caminho ex e mais vim seria: se você souber como fazer isso uma vez por linha, registre-o como uma macro e execute :%normal @m , em que m é essa macro.

Como (no modo normal): qmS<a href="<Ctrl-R>""><Ctrl-R>"</a><Esc>q para gravar a macro.

    
por 03.02.2016 / 20:49
1

por que você usa o tubo?

:%s/.*/\<a href=\"&\"\>&\<\/a\>/g

(marque todas as strings de comando com \)

    
por 03.02.2016 / 23:20