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.

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.


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

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

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

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
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.