Em geral, uma expressão regular vazia significa usar a expressão regular inserida anteriormente, portanto :%s///g
deve fazer o que você deseja.
Costumo usar o comando vim /
search para verificar minhas expressões regulares (apenas para ver o que corresponde). Depois disso, costumo usar o comando :%s
replace, em que uso essa regexp da pesquisa como uma string a ser substituída, por exemplo, Eu primeiro procuro por essa string:
/TP-\(\d\{5\}\)-DD-\d\{3\}
Ele corresponde exatamente ao que eu quero, então eu faço a minha substituição:
:%s/TP-\(\d\{5\}\)-DD-\d\{3\}//g
Mas eu tenho que escrever novamente todo o regexp aqui. Normalmente esse regexp é muito mais longo, é por isso que estou procurando uma solução:
Existe algum atalho ou script vim existente para colar esse padrão de pesquisa diretamente no comando replace?
Eu uso o vim no terminal (sem gvim).
Outra boa maneira de ver as pesquisas de expressões regulares anteriores, bem como os comandos Ex e fazer alterações nelas, é editá-los no modo normal. Deste modo, você terá todos os seus poderes, incluindo copiar e colar.
?
ou /
para pesquisa, experimente q/
ou q?
:
try q:
Para ler mais, consulte :help q:
.
Tags vim regular-expression