Como pesquisar e excluir caracteres e depois inserir

1

Minha string é:

P12106003;test_01_01

Estou usando o comando

:g/test_.._../norm 10Xi<<Esc>A>

O resultado deve parecer

<test_01_01>

não está funcionando, por favor ajude.

    
por Nayak 08.06.2018 / 11:07

1 resposta

4

X é excluído para trás. Enquanto :norm entraria no modo normal no início de cada linha correspondente. Então você quer o x

g/test_.._../norm 10xi<^[A>

(onde ^[ é um caractere ESC real inserido com Ctrl + V Esc ).

Ou você poderia fazer:

g/test_.._../norm dni<^[A>

Aqui, pode ser mais simples usar :s :

:%s/\v.*(test_.._..)/<>/

Ou para excluir 10 caracteres antes de cada ocorrência de test_.._.. (e agrupar em <...> ):

:%s/\v.{10}(test_.._..)/<>/g

Ou qualquer coisa que corresponda a P<digits>; :

:%s/\vP\d+;(test_.._..)/<>/g
    
por 08.06.2018 / 11:24

Tags