Se eu digitar /regex
, o cursor pulará temporariamente para a primeira correspondência e todas as correspondências serão destacadas. Isso é atualizado conforme eu digito. É possível obter esse comportamento quando estou me preparando para fazer uma substituição? Por exemplo, quando estou trabalhando em uma expressão regular complicada :%s/\<regex\>/
, gostaria de saber o que está correspondendo antes de pressionar o gatilho e alterar tudo. Alguma maneira de fazer isso?
vim
regular-expression
John Berryman
fonte
fonte
Respostas:
Digite sua pesquisa usando / (ou ? ) Para começar, o que permitirá que você ajuste sua regex (já que você está usando a pesquisa)
Depois de obter tudo de bom, você pode usar o padrão de pesquisa anterior (o que você acabou de usar) no comando substitute usando dois separadores para o item 'search':
Obviamente, você pode usar seleções e intervalos, normalmente.
fonte
s//
Uma opção é que você pode ter um sinalizador de confirmação
c
.:h s_flags
:Você também pode tentar o
grep
comando para ver a saída filtrada e o arquivo original destacado.:g/re/p
ou:g/re/
fonte
Bem, o caminho mais curto para ver o que sua expressão regular corresponderá é fazendo uma pesquisa
/
usando o regex desejado. Irá para a primeira partida e marcará enquanto você estiver digitando. Experimente -vim
não irá decepcioná-lo.fonte