Como posso procurar uma string entre certos números de linha?

15

Este é um problema que tive recentemente. Eu tenho um arquivo com várias centenas de linhas de texto. Como posso procurar uma string entre dois números de linha específicos? Por exemplo, quero pesquisar entre os números de linha 100 e 325.

Seth
fonte

Respostas:

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

depois pressione :147<CR>para pular para a linha desejada.

Você também pode usar :ilist:

:100,235il foo<CR>

Ver :help range, :help :globale :help :ilist.

romainl
fonte
5

Há outra maneira de pesquisar entre linhas específicas.

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

Exemplo:

/%>199l\%<300lgood

Isso pesquisará da linha 200 a 299 o padrão 'bom'.

%>199l - l is for line, >199 denotes the lines greater than 199
SibiCoder
fonte
2
100GV325G<esc>
/\v%Vpattern
  • 100GV325G<esc>selecione visualmente as linhas de 100 a 325, retorne ao normalmodo.
  • /\v%Vpatternuse :h /\%Vpara limitar os intervalos de pesquisa à última área visual.

Se o seu padrão contiver nova linha, você deverá adicionar outro \%Vpara restringir o final do padrão na área visual:

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

Às vezes, você precisa procurar um determinado símbolo dentro de uma função / método

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

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

Para pesquisar apenas bem f():

  • vá para {def()
  • entre no modo visual com V
  • termine f()com '%'
  • vá para a linha exec com o comando ':'.
  • quando estiver na linha de comando il bpara obter :'<,'>il b

Depois de <CR>(entrar) você obtém

b.cpp
  1:   15     b;
  2:   16     b;
Press ENTER or type command to continue
dmytro.poliarush
fonte
Bem-vindo ao Vi e Vim ! Como isso é substancialmente diferente da resposta de romainl?
D. Ben Knoble
Obrigado! Em primeiro lugar, acredito que pessoas novas no vim e que não estão familiarizadas com %o modo visual podem considerá-las úteis. Em segundo lugar, não há necessidade de inserir explicitamente o intervalo de linhas.
dmytro.poliarush
11
Ok, então eu sugiro que explica como o seu uso é relevante e as chaves para oilist
D. Ben Knoble