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