В VIM я могу удалить все строки, которые содержат слово «цена» с этим
:g /price/d
Как я могу удалить все строки, которые НЕ содержат слово «цена»?
vim
regex
find-and-replace
digitaljoel
источник
источник
Ответы:
Вы можете использовать
:%g!/price/d
удалить каждую строку, которая не содержит «цену»
источник
:g!
также известен как:v
(сродниgrep -v
).%
?%
это специальный диапазон в этом контексте, что означает весь файл. См:help cmdline-ranges
.%
является необязательным, поскольку диапазон по умолчанию - весь буфер.Вы также можете использовать:
:v/price/d
удалить строки.
источник
g
это «глобальный» иv
«обратный» (если вы верите тому, что читаете на vim.famdom).help :v
вэто еще один вариант, который может быть значительно быстрее, чем
:v
для больших файлов.Протестировано на Vim 7.4, Ubuntu 14.04, 1M файл журнала строки.
Строки, содержащие слово: https://stackoverflow.com/questions/1725265/how-can-i-delete-all-lines-that-do-not-begin-with-termin-characters/42714334#42714334
источник