vim / gedit deletar as palavras entre os caracteres

6

Eu tenho um arquivo enorme com as entradas como a abaixo:

<option value="201">Medical</option>
<option value="203">Finance</option>
<option value="205">Tax Return</option>
---------------------------
---------------------------

Estou tentando excluir entradas de 'opções' neste arquivo de uma só vez, para que o arquivo fique parecido com o abaixo após a edição:

Medical
Finance
Tax Return
----------
----------

Eu procurei isso no google se eu pudesse fazer isso com o vim ou gedit, mas não achei relevante para isso (não sei pesquisar com qual palavra-chave). Alguém tem alguma ideia, por favor?

    
por user3215 25.03.2011 / 09:17

2 respostas

11

Você pode usar o seguinte no vim para fazer o que quiser.

:%s/<[^>]*>\([^<]*\).*//g

Aqui eu uso o comando s , Esta é a sintaxe completa, você pode verificar digitando :help :s

:[range]s[ubstitute]/{pattern}/{string}/[flags] [count]

% do intervalo significa que o arquivo inteiro {pattern} é uma reexpressão regular {string} significa a string que deve ser substituída. Isso pode conter backreferences, ou seja, uma parte do padrão combinado entre chaves. [flags] são algumas opções extras. g para global, ou seja, todos os padrões em uma linha precisam ser substituídos. Outro sinalizador útil é c , que pede confirmação antes de mudar. [count] deve ser o número de vezes, eu acho.

Isso pode ser lido como, pesquise menos que < seguido por qualquer número ou não maior que > personagens então um > em seguida, selecione qualquer número de não menos que < caracteres no primeiro grupo \ 1 então qualquer número ou qualquer caractere E substitua isso pelo primeiro grupo \ 1 globalmente.

Confira este link para saber mais sobre os detalhes específicos da expressão regular do vim link

    
por balki 25.03.2011 / 10:36
9

Instale surround.vim , que fornece um mapeamento em modo normal dst que deve faça o trabalho.

Para aplicar isso a várias linhas, selecione-as no modo visual e invoque

:'<,'>normal dst

Isso aplicará o comando de modo normal dst na área selecionada. Se você quiser aplicá-lo ao arquivo inteiro (não apenas a seleção visual), use o seguinte comando

:%normal dst
    
por Adam Byrtek 25.03.2011 / 09:30

Tags