linux – Al usar grep de VIM, ¿cómo saltar a los resultados?

Pregunta:

Cuando utilizo el complemento grep para VIM, puedo buscar en el directorio actual todas las apariciones de una cadena dentro de un conjunto de archivos, como este:

:grep Ryan *.txt

Esto genera algo como esto:

file1.txt:3:Ryan was here
file2.txt:10:Ryan likes VIM
file3.txt:5:superuser.com is a fav of Ryan
(1 of 3): Ryan was here
Press ENTER or type command to continue

Si presiono enter, simplemente me lleva de vuelta a mi editor. Lo que realmente quiero hacer es poder abrir uno de esos archivos y saltar al lugar donde se encontró la cadena. ¿Hay alguna forma de hacer esto? La parte 1 of 3 me hace pensar que hay una manera de ver los resultados, pero no sé qué comandos están disponibles para mí. ¿Alguien puede arrojar algo de luz sobre esto?

Respuesta:

Cuando presione ENTRAR, debería estar mirando la línea 3 de file1.txt. Para saltar a la siguiente coincidencia, ejecute :cn ; para saltar al partido anterior, ejecute :cp . Ejecutando :copen abrirá una ventana que contiene la lista de coincidencias. Mueva el cursor a la coincidencia deseada y presione ENTER para saltar a esa coincidencia.

Para obtener más información sobre el uso de :grep , consulte

:help grep
:help quickfix.txt

Escribir :cn y :cp para avanzar y retroceder en la lista de corrección rápida puede ser incómodo, así que utilizo estas asignaciones:

nmap <silent> <C-N> :cn<CR>zv
nmap <silent> <C-P> :cp<CR>zv

Además, el :grep no es un complemento; es parte de Vim.

Leave a Comment

Your email address will not be published.

Scroll to Top

istanbul avukat

-

web tasarım