Pressione "n" depois de concluir uma pesquisa e, em seguida, ela repetirá a ação anterior (pesquisa).
Sempre que você quiser procurar texto no vim, digite / e, em seguida, a string que está procurando.
No entanto, quando a string é longa, e você quer fazer isso várias vezes, existe uma maneira de fazer isso para que você não precise digitar / andthisreallylongstring
more de uma vez?
Se a string que você procura estiver sob o cursor, você pode digitar * para procurá-la, ou # para procurá-la de trás para frente.
Como eu normalmente pesquiso é algo como:
O Vim mantém um histórico de suas pesquisas, portanto, se você precisar de pesquisas anteriores, pressione '/' e use as teclas UP e DOWN ou < Ctrl-P > < Ctrl-N > para navegar no histórico de pesquisas.
Você também pode usar '?' em vez de '/' para pesquisar para trás.
Eu também gosto de usar:
set ignorecase smartcase
Agora, será apenas uma pesquisa sensível a maiúsculas e minúsculas se você tiver caracteres maiúsculos na string de pesquisa.
Duas dicas adicionais que podem tornar sua pesquisa mais eficiente são set hlsearch
e
set incsearch
.
set hlsearch
, bem, destaca seus resultados de pesquisa. Digite :noh
para desativá-los quando não precisar mais deles.
set incsearch
ativa a pesquisa incremental.
Extraído de :help incsearch
While typing a search command, show where the pattern, as it was typed so far, matches. The matched string is highlighted. If the pattern is invalid or not found, nothing is shown. The screen will be updated often, this is only useful on fast terminals.
Sem incsearch
, seus resultados serão exibidos somente depois de pressionar <CR>
na sua palavra-chave de pesquisa.
Exemplo:
Você deseja pesquisar por wildignore
Vocêdigita/wild
eaprimeiracorrespondênciaédestacadaautomaticamente.
Em seguida, digite i
e passe para a próxima correspondência correta.
Outra dica ainda não abordada: ao pressionar os caracteres q
e, em seguida, /
, você verá uma lista de termos de pesquisa anteriores. Você pode editá-las como qualquer outra linha em um documento e, em seguida, pressionar Enter para reutilizá-las para uma nova pesquisa.
Depois de pressionar / para iniciar a pesquisa, você pode usar a seta para cima para percorrer seu histórico de pesquisa.
Você pode inserir uma expressão regular para evitar ter que digitar todo o termo de pesquisa: and.*longstring
Acontecer / sem argumentos não funciona para você? Em todos os nossos sistemas, isso causa uma repetição de qualquer pesquisa feita por último.
Há um ótimo padrão que você pode seguir para procura por texto extraído . Então você nem precisa digitar a palavra em si, se você tiver navegado para ela por outros meios que não uma pesquisa. Em resumo, se você estiver no primeiro caractere da palavra que deseja pesquisar:
v
e
y
/
Ctrl-r
0
Enter
(continue para a próxima correspondência com n ou N)
No entanto, *
(ou #
) realiza praticamente a mesma coisa que todos esses comandos. A única diferença é que você pode ser flexível quanto da palavra que você especificar (em vez de e, no final da palavra, você pode selecionar o quanto quiser, por exemplo, 9l)
/string
- Pesquisar encaminhamento por string ?string
- Pesquisar de volta por string n
- Procura pela próxima instância da string N
- Procura por instância anterior de string Muito tempo ao programar, eu quero procurar por aVeryLongVariableNameInTheProgram
.
No vim você pode muito facilmente arrancar o texto em um buffer / registrador e então procurá-lo:
"Byw
para extrair o texto aVeryLongVariableNameInTheProgram
no buffer B (escolha o seu favorito, usei o B) /^RB
(barra, Ctrl-R, B) para colar o buffer B na linha de pesquisa É claro que você também pode usar o fim de linha, etc., em vez de puxar uma única palavra - acontece de usar a sequência acima o tempo todo.
Adicionalmente, você pode colar o conteúdo de qualquer registro no prompt de busca pressionando Ctrl + R e então o nome do registrador, por exemplo, / Ctrl + R 0 Digite .
A string longa que você está digitando é um nome de variável? Ou uma longa string no seu texto? Em seguida, pressione *
para pesquisar a palavra / string sob o cursor.