Visual selecionar resultado da pesquisa atual


9

Eu hlsearchconfigurei, mas às vezes me leva a pensar que tenho o termo de pesquisa selecionado visualmente e que pode ser pressionado cpara alterá-lo.

O termo pesquisado pode não ser um número fácil de letras, palavras e até linhas - e, de qualquer maneira, não quero contar.

Existe uma maneira de vh(ou ch), digamos, onde hé executado até que o realce atual pare?

Respostas:


14

Você pode usar o gnmovimento para isso, ele seleciona o próximo elemento pesquisado.

Você pode usá-lo assim:

/foo<CR>
gn            -> select the next "foo"
sbar<Esc>     -> (optional) substitute it with "bar"

Bônus: Para .repetir a pesquisa e a alteração, use a cpara fazer tudo em um comando:

/foo<CR>
cgnbar<Esc>
...           -> find and change the 3 next foo

11
Fantástico! Obrigado. (Qualquer um que gosta de mim perde porque .vai repetir a ação inteira, e não pode fazê-lo funcionar - leia mais cuidado - c!. Primeiro não poderia pedir para melhor)
OJFord

3
Observe que você também pode usar gNpara selecionar visualmente a correspondência anterior.
Statox

Qual é a diferença entre isso e pressionar npara chegar ao próximo resultado da pesquisa?
user1717828

ele faz a mudança também, então ao invés de repetir n.(próxima ocorrência, repetir a modificação), você pode simplesmente pressionar .(repetir a modificação, que é "mudar a próxima ocorrência")
nobe4

De fato, quando .invocado gn, o original foodesapareceu, então o Vim procura o próximo foo. O mesmo gnacontece com o nque teria feito de qualquer maneira (e mais). Mas, como acontece com n, observe que isso só funciona bem quando barnão contém foo!
Joeytwiddle 20/09/16
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.