Другой подход, зависящий от вашего варианта использования, - использовать vimgrep и его результаты в quickfix . Вы можете сделать следующее:
:vimgrep pattern %
выполнит поиск в текущем файле и перейдет к первому результату поиска. Что еще более важно, он также помещает результаты в «список быстрого исправления».
:copen
затем откроет список quickfix в отдельном окне quickfix. Таким образом, у вас будет отдельное окно со всеми строками из вашего последнего vimgrep. Затем в окне quickfix вы можете нажать Enter или дважды щелкнуть строку, чтобы перейти к соответствующей строке в исходном файле.
:colder
позволит вам вернуться к старым спискам quickfix (более старым результатам vimgrep). И :cnewer
идет к новым результатам поиска.
Обратите внимание, что список быстрых исправлений также обновляется при запуске :make
(поэтому он называется quickfix для исправления ошибок). Из-за этого также есть альтернативный список быстрого исправления, который называется «список местоположений». Для того, чтобы использовать его вместо того, чтобы использовать :lvimgrep
, а затем использовать команды л-приставкой , а не команды с-приставкой - :lopen
, :lolder
, :lnewer
.
Конечно, вы можете сделать гораздо больше. Увидеть:help quickfix
Дополнительную информацию.
PS Вы сказали, что не хотите подход, который удаляет строки, а затем отменяет их. Но так как вы отметили g/ERROR
как ответ, я подумал, что укажу на быстрый и грязный способ g!/ERROR/d
. Затем вы можете легко отменить это, используя u
. Также, к вашему сведению, вы можете :set hlsearch
выделить шаблоны, соответствующие :g
командам.