Como excluir todas as linhas que NÃO contêm uma determinada palavra no Vim?


116

No vim, posso excluir todas as linhas que contêm a palavra "preço" com este

:g /price/d

Como posso excluir todas as linhas que NÃO contêm a palavra "preço"?


1
Esta pergunta pode ser migrada para vi.stackexchange.com ? Tentei sinalizá-lo para migração, mas não consegui descobrir.
Mu Mente

@MuMind Está no tópico aqui, então não há necessidade de migrar . " Não migre por uma questão de migração. Somente migramos perguntas porque elas estão fora do tópico no site original . É perfeitamente possível que uma pergunta esteja no tópico em vários sites, mas esse não é um motivo para migrar. em outro lugar, a menos que o OP solicite a migração ". Além disso, apenas os funcionários da SE podem migrar após 60 dias e é muito raro que eles façam (nem mesmo os moderadores podem migrar uma pergunta antiga).
8bittree

Respostas:


157

Você pode usar

:%g!/price/d

para excluir todas as linhas que não contenham "preço"


3
Eu sabia que ia ser fácil ...
digitaljoel

35
:g!também é conhecido como :v(semelhante a grep -v).
Chris Johnsen

3
O que %faz?
Hippietrail 30/10/12

4
%é um intervalo especial nesse contexto que significa o arquivo inteiro. Veja :help cmdline-ranges.
Heptite 30/10/12

1
%é opcional, pois o intervalo padrão é o buffer inteiro.
stillanoob 6/02


Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.