Come posso cercare una stringa tra determinati numeri di riga?


15

Questo è un problema che ho avuto di recente. Ho un file con diverse centinaia di righe di testo. Come posso cercare una stringa tra due numeri di riga specifici? Ad esempio, voglio cercare tra i numeri di riga 100 e 325.

Risposte:


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

quindi premere :147<CR>per passare alla riga desiderata.

Puoi anche usare :ilist:

:100,235il foo<CR>

Vedi :help range, :help :globale :help :ilist.


5

C'è un altro modo di cercare tra determinate righe.

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

Esempio:

/%>199l\%<300lgood

Questo cercherà dalla linea 200 a 299 il modello 'buono'.

%>199l - l is for line, >199 denotes the lines greater than 199

2
100GV325G<esc>
/\v%Vpattern
  • 100GV325G<esc>selezionare visivamente le linee da 100 a 325, tornare alla normalmodalità.
  • /\v%Vpatternutilizzare :h /\%Vper limitare gli intervalli di ricerca all'ultima area visiva.

Se il motivo contiene newline, è necessario aggiungerne un altro \%Vper limitare la fine del motivo nell'area visiva:

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

1

A volte è necessario cercare un determinato simbolo all'interno di una funzione / metodo

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

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

Al fine di cercare bin f()solo:

  • vai a {dif()
  • entra in modalità visiva con V
  • vai alla fine di f()con '%'
  • vai alla riga exec con il comando ':'.
  • una volta che sei in input dalla riga di comando il bper ottenere :'<,'>il b

Dopo <CR>(invio) si ottiene

b.cpp
  1:   15     b;
  2:   16     b;
Press ENTER or type command to continue

Benvenuti a Vi e Vim ! In che modo ciò è sostanzialmente diverso dalla risposta di Romainl?
D. Ben Knoble,

Grazie! In primo luogo, credo che le persone che non conoscono e non conoscono %la modalità visiva possano trovarle utili. In secondo luogo, non è necessario immettere esplicitamente l'intervallo di righe.
dmytro.poliarush,

1
Ok, allora suggerirei di spiegare in che modo il loro utilizzo è rilevante e le chiavi per ililist
Ben Knoble
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.