Otro enfoque, dependiendo de su caso de uso, sería usar vimgrep y sus resultados en quickfix . Puede hacer lo siguiente:
:vimgrep pattern %
buscará el archivo actual y lo llevará al primer resultado de búsqueda. Más importante aún, también coloca los resultados en la "lista de arreglos rápidos".
:copen
luego abrirá la lista de arreglos rápidos en una ventana separada de arreglos rápidos. Entonces tendrá una ventana separada con todas las líneas de su último vimgrep. Dentro de la ventana de corrección rápida, puede presionar Enter o hacer doble clic en una línea para saltar a la línea correspondiente en su archivo original.
:colder
le permitirá volver a las listas de correcciones rápidas más antiguas (resultados de vimgrep más antiguos). Y :cnewer
avanza a resultados de búsqueda más nuevos.
Tenga en cuenta que la lista de correcciones rápidas también se actualiza cuando se ejecuta :make
(por eso se llama corrección rápida para corregir errores). Debido a esto, también existe una alternativa a la lista de arreglos rápidos llamada "lista de ubicaciones". Para usarlo en lugar de utilizar :lvimgrep
, a continuación, utilizar comandos l-prefijado en lugar de comandos c-prefijo - :lopen
, :lolder
, :lnewer
.
Por supuesto, hay mucho más que puede hacer. Consulte :help quickfix
para obtener más información.
PD: Dijiste que no querías un enfoque que borra líneas y luego las deshace. Pero ya que marcó g/ERROR
como la respuesta, pensé en señalar que una forma rápida y sucia es hacerlo g!/ERROR/d
. A continuación, puede deshacerlo fácilmente usando u
. También para su información, puede hacer :set hlsearch
para resaltar patrones que coincidan con :g
comandos.