no está claro a partir de la publicación original lo que entendemos por "trabajar fácilmente con ella", pero es a menudo útil para ver y saltar rápidamente entre todas las coincidencias en un búfer sin "extraer" las coincidencias en un búfer separado.
vim tiene un grep interna incorporada. Tu ejemplo sería algo como esto (en vim, %
denota el archivo actual)
:vimgrep /label/ %
Esto le llevará a la primera ocurrencia e informar cuántas coincidencias existen fueron. Lo bueno es que se puede ver en todos los partidos mencionados mediante la apertura de la lista de errores quickfix usando
:cope
Ahora sólo puede desplazarse alrededor y pulse enter
en una línea para saltar a la posición exacta del partido.
La lista de errores de quickfix es exactamente el mismo búfer que usa si ejecuta make desde dentro de vim y su compilador arroja errores: le da una lista de qué y dónde están los errores.
Después de que haya saltado a una ubicación señalada por quickfix, puede ir hacia adelante y hacia atrás en la lista a través de :cn
y :cp
. :ccl
cierra la lista de errores.
También puede ampliar su lista de "error" a través de :vimgrepa /newpattern/ %
o :vimgrepadd
El (documentado) advertencia es grep interna que vim es más lento que la mayoría de las implementaciones grep nativos (pero te dan es "gratis" en las ventanas , por ejemplo). Si tiene un grep instalado, puede usar: grep en lugar de: vimgrep para obtener resultados similares.
citando :help grep
Vim tiene dos maneras de encontrar coincidencias para un patrón : interna y externa. La ventaja de del grep interno es que funciona en todos los sistemas y usa los potentes patrones de búsqueda de Vim. Se puede usar un programa grep externo cuando Vim grep no hace lo que desea.
El método interno será más lento, porque los archivos se leen en la memoria. Las ventajas son: - Los separadores de línea y la codificación se reconocen automáticamente, como si se estuviera editando un archivo . - Usa los patrones de búsqueda de Vim. Se pueden usar patrones de varias líneas. - Cuando los complementos están habilitados: se pueden buscar archivos comprimidos y remotos.
También puede utilizar la lista de ubicaciones si ya está utilizando la lista de errores para resolver los errores de compilación. sólo tiene que añadir l
(por location
) al principio del comando grep (:lvimgrep
, :lvimgrepa
:lgrep
, :lgrepa
) y utilizar :lopen
:ln
:lp
:lcl
en lugar de los :c*
queridos.
Para consultar más comandos
:help grep
:help quickfix-window
:help quickfix
:help quickfix-error-lists
¿cuál es el significado de # aquí? –
@Aman Jain: uso # para mostrar el número de línea. –