Sempre que você quiser procurar texto no vim, digite /e depois a string que está procurando.
No entanto, quando a string é longa e você deseja fazer isso várias vezes, existe uma maneira de fazê-lo para que você não precise digitar /andthisreallylongstring
mais de uma vez?
Respostas:
Pressione "n" depois de concluir uma pesquisa e, em seguida, repetirá a ação anterior (pesquisa).
fonte
N
irá para o resultado anterior./
irá recordar a última termo de buscaq/
mostrará uma janela editável com todos os termos de pesquisa recentes./
e Enter repetirá a pesquisa anterior. Bater?
e Enter repetirá a pesquisa anterior para trás./Ctrl-F
é uma alternativa aq/
isso, pode ser um mnemônico mais fácil (ctrl-f == find). Como q, ele também funciona no modo de comando.Se a sequência que você procura estiver sob o cursor, você poderá digitar *para procurá-la para frente ou #para trás.
fonte
Como eu costumo pesquisar é 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 procurar para trás.
Eu também gosto de usar:
Agora, será apenas uma pesquisa com distinção entre maiúsculas e minúsculas se você tiver caracteres maiúsculos na sequência de pesquisa.
fonte
Duas dicas adicionais que podem tornar sua pesquisa mais eficiente são
set hlsearch
eset incsearch
.set hlsearch
, bem, destaca seus resultados de pesquisa. Digite:noh
para desativá-los quando não precisar mais dele.set incsearch
ativa a pesquisa incremental.Extraído de
:help incsearch
Sem
incsearch
, seus resultados serão exibidos somente após pressionar<CR>
a palavra-chave de pesquisa.Exemplo:
Você deseja procurar
wildignore
Você digita
/wild
e a primeira correspondência é destacada automaticamente.Em seguida, digite
i
e prossegue para a próxima correspondência correta.fonte
Outra dica ainda não abordada: pressionar os caracteres
q
e/
fornecerá uma lista dos termos de pesquisa anteriores. Você pode editá-los como qualquer outra linha de um documento e pressionar enter para reutilizá-los para uma nova pesquisa.fonte
Depois de pressionar /para iniciar a pesquisa, você pode pressionar a seta para cima e rolar pelo seu histórico de pesquisas.
Você pode inserir uma expressão regular para evitar a digitação de todo o termo de pesquisa:
and.*longstring
fonte
Apenas bater / sem argumentos a seguir não funciona para você? Em todos os nossos sistemas, isso causa uma repetição de qualquer pesquisa feita por último.
fonte
Há um bom padrão que você pode seguir para procurar texto arrancado . Então você nem precisa digitar a palavra em si, se a tiver navegado por outros meios que não uma pesquisa. Em resumo, se você estiver no primeiro caractere da palavra que deseja pesquisar:
(continue para a próxima partida 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 em relação à quantidade de palavras que você especificar (em vez de e, até o final da palavra, você pode selecionar quantas vezes quiser, por exemplo, 9l)fonte
/string
- Pesquisar para frente a string?string
- Pesquisar novamente por stringn
- Procure a próxima instância da stringN
- Procure a instância anterior da stringfonte
Muito tempo ao programar, quero pesquisar
aVeryLongVariableNameInTheProgram
.No vim, você pode facilmente arrastar o texto para um buffer / registro e depois procurá-lo:
"Byw
para puxar o textoaVeryLongVariableNameInTheProgram
para o buffer B (escolha o seu favorito, eu usei B)/^RB
(barra, Ctrl-R, B) para colar o buffer B na linha de pesquisaClaro que você também pode puxar para o final da linha, etc., em vez de puxar uma única palavra - por acaso uso a sequência acima o tempo todo.
fonte
Além disso, você pode colar o conteúdo de qualquer registro no prompt de pesquisa pressionando Ctrl+ Re, em seguida, o nome do registro, por exemplo, / Ctrl+ R0 Enter.
fonte
A sequência longa que você está inserindo é um nome de variável? Ou uma sequência longa que está no seu texto? Em seguida, pressione
*
para pesquisar a palavra / string sob o cursor.fonte