Інший підхід у залежності від вашого випадку використання буде використовувати vimgrep і його результати в QuickFix . Ви можете зробити наступне:
:vimgrep pattern %
здійснить пошук у поточному файлі та переведе вас до першого результату пошуку. Що ще більш важливо, він також розміщує результати в "списку швидких виправлень".
:copen
потім відкриє список швидких виправлень в окремому вікні швидкого виправлення. Отже, у вас буде окреме вікно з усіма рядками вашого останнього вімгрепу. Потім у вікні швидкого виправлення можна натиснути Enter або двічі клацнути на рядку, щоб перейти до відповідного рядка у вихідному файлі.
:colder
повернеться до старих списків швидких виправлень (старіші результати vimgrep). І :cnewer
переходить до нових результатів пошуку.
Зверніть увагу, що список :make
швидких виправлень також оновлюється під час запуску (саме тому його називають швидким виправленням для виправлення помилок). Через це також є альтернатива списку швидких виправлень, яка називається "список місцезнаходжень". Для того, щоб використовувати його замість того, щоб використовувати :lvimgrep
, а потім використовувати команди л-приставкою , а не команди з-приставкою - :lopen
, :lolder
, :lnewer
.
Звичайно, ви можете зробити набагато більше. Докладніше див :help quickfix
.
PS, Ви сказали, що не хочете підходу, який видаляє рядки, а потім скасовує їх. Але оскільки ви позначили g/ERROR
як відповідь, я думав, що зазначу швидкий і брудний спосіб g!/ERROR/d
. Потім ви можете легко скасувати це за допомогою u
. Також FYI, ви можете зробити, :set hlsearch
щоб виділити шаблони, що відповідають :g
командам.