vim procura e substitui o comando para substituir '(*, *)' por nada

0

De acordo com o título, estou retrabalhando algum código Fortran. Eu preciso remover o padrão (*,*) usando a função de pesquisa e substituição do vim. O seguinte não funciona

%s/\<(*,*)\>//gc
%s/\<(*\,*)\>//gc
%s/(*,*)//gc 

o último só remove o conteúdo entre parênteses e não os parênteses em si

    
por user121392 19.09.2017 / 11:59

1 resposta

1

Você terá que escapar do * as \* . O * é especial em expressões regulares e significa que corresponde ao anterior zero ou mais vezes .

A substituição no Vim seria

:%s/(\*,\*)//g

Se você cancelar a opção magic no Vim, com

:set nomagic

então somente os caracteres ^ ("início da linha") e $ ("fim da linha") têm um significado especial nas expressões regulares.

Isso significa que a substituição

:%s/(*,*)//g

faria o que você gostaria de fazer.

A maioria das pessoas deseja ter a opção magic definida (e é configurada por padrão no Vim).

    
por 19.09.2017 / 12:04