¿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.

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.


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

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

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

¡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
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.