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

90

No vim eu posso apagar todas as linhas que contenham a palavra "price" com isso

:g /price/d

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

    
por digitaljoel 01.04.2011 / 01:00

3 respostas

127

Você pode usar

:%g!/price/d

para excluir todas as linhas que não contêm "preço"

    
por 01.04.2011 / 01:09
13

Você também pode usar:

:v/price/d

para excluir linhas.

    
por 07.10.2017 / 10:03
3
%!grep "price"

é outra opção que pode ser consideravelmente mais rápida que :v para arquivos grandes.

Testado no arquivo de log da linha Vim 7.4, Ubuntu 14.04, 1M.

Linhas que contêm palavra: link

    
por 10.03.2017 / 10:02