vim vimgrep

¿Cómo saltar entre patrones cuando se usa: vimgrep(lista de Quickfix)?



(2)

Comandos útiles para la lista de soluciones rápidas (corchetes alrededor de parte omittable de los comandos):

  • :cn[ext] y :cp[revious] saltan a la entrada siguiente y anterior
  • :cnf[ile] y :cpf[ile] saltan al archivo siguiente y anterior (si la lista de soluciones rápidas no está ordenada por archivo, podría escribir una función que getqflist() , realice una clasificación y luego setqflist()
  • :cr[ewind] y :cla[st] van al principio o al final de la lista de soluciones rápidas
  • :col[der] y :cnew[er] recorrerán las listas históricas de soluciones rápidas.

No hace falta decir que hay muchos otros comandos y puedes descubrirlos en :help quickfix .

En lo personal tengo los siguientes mapas:

| ø | SHIFT | CTRL ------+--------+---------+--------- <F11> | :cprev | :cpfile | :colder <F12> | :cnext | :cnfile | :cnewer

Por supuesto, si usa la lista de ubicaciones en lugar de la lista de soluciones rápidas ( :lvimgrep ) existen los mismos comandos, simplemente reemplace la c inicial con una l y eso es todo.

Vim 8 Adiciones :

  • :cdo : ejecuta un comando en todas las entradas de la lista de soluciones rápidas. Por ejemplo
    :vim /foo/ *.cpp *.h *.hpp puede ir seguido de
    :cdo s/pattern/replacement/g
  • :cfdo : ejecuta un comando y todos los archivos en la lista de soluciones rápidas. Por ejemplo,
    :vim /foo/ *.cpp *.h *.hpp puede ir seguido de
    :cfdo %s/2ndpattern/2ndreplacement/g

Soy nuevo en vim y sigo explorando algunas de sus características. Tengo un problema con vimgrep. Puedo buscar un patrón como este vimgrep /define/ ** para que encuentre y abra el siguiente archivo que contiene un define . Pero todavía no pude averiguar cómo ir al siguiente archivo / línea que coincida con mi patrón. Cualquier punteros?


Para saltar a la siguiente aparición del patrón puede usar :cnext . Puedes ir en reversa con :cNext .

No estoy seguro de una forma de omitir todas las ocurrencias hasta el siguiente archivo automáticamente, pero puede abrir la ventana de corrección rápida con :cwindow para ver una lista de coincidencias y navegar a esas coincidencias presionando Intro en la entrada de la lista.