Conheço o regex para fazer uma substituição global,
%s/old/new/g
Como você substitui a pesquisa interativa no Vim ?
Adicione o sinalizador c (no prompt de comando do vim):
:%s/old/new/gc
fornecerá um aviso sim / não em cada ocorrência de 'antigo'.
A ajuda interna do Vim oferece informações úteis sobre as opções disponíveis após a seleção da substituição com confirmação. Usar:
:h :s
Em seguida, role até a seção sobre opções de confirmação. Captura de tela abaixo:
Por exemplo, para substituir esta e todas as correspondências restantes, use a
.
Mark Biek apontou usando:
para uma pesquisa global, substitua pela confirmação de cada substituição. Mas também gosto de verificar interativamente que o texto antigo corresponderá corretamente. Primeiro faço uma pesquisa com uma regex e depois reutilizo esse padrão:
O
s//
usará o último padrão de pesquisa.fonte
Acho que você está procurando
c
, por exemplos/abc/123/gc
, isso fará com que o VIM confirme as substituições. Consulte: help: substitua para obter mais informações.fonte
Eu costumo usar o comando find / substitute / next / repeat :-)
Aquela
find "old"
,substitute 3 characters for "new"
,find next
,repeat substitute
, e assim por diante.É uma dor para substituições maciças, mas permite que você ignore seletivamente algumas ocorrências antigas (apenas pressionando
n
novamente para encontrar a próxima em vez de.
repetir uma substituição).fonte
<CR>
?Se você quiser apenas contar o número de ocorrências de 'abc', pode fazer
%s/abc//gn
. Isso não substitui nada, mas apenas informa o número de ocorrências de 'abc'.fonte
Se o texto de substituição precisar ser alterado para cada ocorrência correspondente (ou seja, não basta escolher Sim / Não para aplicar uma substituição singular), você poderá usar um plug-in do Vim que criei chamado substituição interativa .
fonte
Neovim agora tem um recurso para visualizar a substituição:
Imagem retirada de: https://medium.com/@eric.burel/stop-using-open-source-5cb19baca44d Documentação do recurso: https://neovim.io/doc/user/options.html# 'inccommand'
fonte
nvim
recurso embutido, é bom saber! Obrigado por compartilhar!