Otro enfoque dependiendo de su caso de uso estaría utilizando vimgrep y sus resultados en quickfix. Puede hacer lo siguiente:
:vimgrep pattern %
buscará el archivo actual y lo llevará al primer resultado de la búsqueda. Lo que es más importante, también pone los resultados en la "lista de soluciones rápidas".
:copen
abrirá la lista de revisiones en otra ventana de solución rápida. Entonces tendrá una ventana separada con todas las líneas de su último vimgrep. Dentro de la ventana de revisión rápida, puede presionar Entrar o hacer doble clic en una línea para saltar a la línea correspondiente en su archivo original.
:colder
le permitirá volver a listas de quickfix anteriores (resultados de vimgrep más antiguos). Y :cnewer
avanza a los resultados de búsqueda más nuevos.
Tenga en cuenta que la lista de revisiones también se actualiza cuando se ejecuta :make
(por lo que se llama quickfix para corregir errores). Debido a esto, también hay una alternativa a la lista de soluciones rápidas llamada "lista de ubicaciones". Para usarlo, en su lugar, usa :lvimgrep
, luego use comandos con prefijo l en lugar de comandos con prefijo c - :lopen
, :lolder
, :lnewer
.
Hay, por supuesto, mucho más que puede hacer. Vea :help quickfix
para más información.
PS, Dijiste que no querías un enfoque que borre las líneas y luego las deshagas. Pero ya que marcó g/ERROR
como la respuesta que pensé que señalaría de una manera rápida y sucia es hacer g!/ERROR/d
. A continuación, puede deshacerlo fácilmente usando u
. También para su información, puede hacer :set hlsearch
para resaltar los patrones combinados con los comandos :g
.
http://vi.stackexchange.com/q/2280/12111 – graceman9