Além da resposta do @ nobe4, Damian Conway possui dois mapeamentos bastante interessantes para acelerar a pesquisa e substituir as ações. Eles vêm disso como eu vim entrevista que vale totalmente a pena ler completamente.
Para citá-lo:
[...] eu descobri que estava sempre fazendo pesquisas e substituições globais (ou seja
:%s/X/Y/g<CR>
), então eliminei a digitação repetitiva roubando o S
comando nunca usado (por mim) :
nmap S :%s//g<LEFT><LEFT>
Agora eu só preciso digitar: SX / Y
Mas então comecei a perceber com que frequência fazia uma pesquisa / por algum padrão e, depois de analisar as correspondências, queria substituir globalmente todas elas. Mesmo com o mapeamento S que foi a repetição mais irritante: primeiro faça a pesquisa: / pattern e depois substitua: Spattern / Replacement Então eu roubei o comando M (também nunca usado por mim) para isso:
nmap <expr> M ':%s/' . @/ . '//g<LEFT><LEFT>'
Agora é só: faça a pesquisa: / pattern e substitua todas as correspondências: Mreplacement
Para responder sua pergunta, acho que você pode modificar um pouco o primeiro mapeamento para algo como isto:
nmap S :s///g<LEFT><LEFT>
Dessa forma, você pode primeiro fazer sua substituição :s/foo/bar/g
, ir para a próxima linha, pressionar S
e você obterá: :s//|/g
onde |
está o cursor, agora você pode digitar sua nova subscrição.