Manipulação de pontuação no padrão de texto com pesquisa / substituição vim

2

No vim, temos o comando :substitute que procura por um padrão de texto e o substitui por uma string de texto.

Como alguém lida com um padrão de texto com pontuação?

Exemplo de trabalho mínimo: o padrão de texto $S(\R^2)$ deve ser substituído pela string de texto $\Sm$ . Editar: Como também explicamos o fato de que o padrão de texto pode estar dentro de outro padrão de texto?

    
por Mussé Redi 16.03.2014 / 18:47

1 resposta

2

Parece que é uma questão de escapar dos personagens. Por exemplo,

:s/\$S(\R^2)\$/$\Sm$/

substituirá a primeira ocorrência de S(\N^2) por \Sm . \ está escapando de \ (assim como você faz \* quando deseja representar o caracter * ). Sem isso, por exemplo, a string \r significará retorno de carro. A razão pela qual você não tem que escapar do $ na segunda parte do :s (não sabe o termo técnico para isso) é porque ele não tem nenhum significado especial para ele, enquanto isso significa o fim de linha na primeira parte.

Você precisa adicionar barras invertidas aos parênteses somente quando quiser capturar.

    
por 16.03.2014 / 19:12