Como posso encontrar / substituir instâncias de hífens duplos (-) com hipóteses triplas (---) no vim?

3

Eu sei que provavelmente há uma maneira de fazer isso usando o regex, mas não consigo descobrir o regex no vim. Eu tentei pesquisar: /-\{2} , mas também pega triplos hífens.

Eu também não posso apenas fazer um tradicional encontrar e substituir, já que eu tenho triplos hífens no meu arquivo. A pesquisa por -- retorna hifens triplos, além de duplos hífens.

    
por Jon 19.02.2012 / 00:03

2 respostas

8

Que tal :%s,-\@<!---\@!,---,g ? Dessa forma, não mudará '---' para '----'.

    
por 19.02.2012 / 01:05
2

Seu exemplo funciona para mim, então suspeito que você tenha um caractere diferente em seu arquivo que apenas se pareça com um hífen.

Eu gostaria de sugerir colocar o cursor em um no modo normal, digitando yl para arrancar o caractere, depois digitando / seguido pressionando control-r e depois "(aspas duplas). Se isso funcionar, você pode usar o mesmo truque para criar seu comando substituto.

    
por 19.02.2012 / 00:58

Tags