¿Cómo puedo buscar una cadena entre ciertos números de línea?

15

Este es un problema que tuve recientemente. Tengo un archivo con varios cientos de líneas de texto. ¿Cómo puedo buscar una cadena entre dos números de línea específicos? Por ejemplo, quiero buscar entre los números de línea 100 y 325.

Seth
fuente

Respuestas:

7
:100,235g/foo/#<CR>

luego presione :147<CR>para saltar a la línea deseada.

También puedes usar :ilist:

:100,235il foo<CR>

Ver :help range, :help :globaly :help :ilist.

romainl
fuente
5

Hay otra forma de buscar entre líneas particulares.

/%>{linenumber}l\%<{linenumber}{pattern}

Ejemplo:

/%>199l\%<300lgood

Esto buscará desde la línea 200 a la 299 el patrón 'bueno'.

%>199l - l is for line, >199 denotes the lines greater than 199
SibiCoder
fuente
2
100GV325G<esc>
/\v%Vpattern
  • 100GV325G<esc>Seleccione visualmente líneas de 100 a 325, vuelva al normalmodo.
  • /\v%Vpatternuse :h /\%Vpara limitar los rangos de búsqueda a la última área visual.

Si su patrón contiene nueva línea, debe agregar otro \%Vpara restringir el final del patrón en el área visual:

100GV325G<esc>
/\v%Vpattern%V
  • :h /\%V
dedowsdi
fuente
1

A veces necesitas buscar un símbolo dado dentro de una función / método

  void f(bool b)
  {
    b;
    b;
  }

  void g(bool b)
  {
    b;  
    b;  
    b;  
    b;  
  }

Para buscar solo ben f():

  • ir a {def()
  • ingrese al modo visual con V
  • ir al final de f()con '%'
  • vaya a la línea ejecutiva con el comando ':'.
  • una vez que esté en la entrada de línea de comando il bpara obtener :'<,'>il b

Después de <CR>(entrar) obtienes

b.cpp
  1:   15     b;
  2:   16     b;
Press ENTER or type command to continue
dmytro.poliarush
fuente
¡Bienvenidos a Vi y Vim ! ¿Cómo es esto sustancialmente diferente de la respuesta de romainl?
D. Ben Knoble
¡Gracias! En primer lugar, creo que las personas nuevas en vim y que no están familiarizadas con %el modo visual pueden encontrarlas útiles. En segundo lugar, no es necesario ingresar explícitamente el rango de líneas.
dmytro.poliarush
1
Ok, entonces sugeriría explicar cómo su uso es relevante y las claves en elilist
D. Ben Knoble