Procurando palavra no vim?

145

Eu posso pesquisar palavras no vim com /word. Como posso pesquisar apenas word, excluindo pesquisas word1e e word2?

kal
fonte
2
Possível duplicado de correspondência exata Finding no vim
LSchueler

Respostas:

207

como isso:

/\<word\>

\<significa o início de uma palavra e \>o fim de uma palavra,

Adicionando o comentário de @ Roe: O
VIM fornece um atalho para isso. Se você já possui uma palavra na tela e deseja encontrar outras instâncias, é possível colocar o cursor na palavra e pressionar '*'para pesquisar no arquivo '#'para frente ou para trás.

Nathan Fellman
fonte
3
colocando o cursor sobre uma palavra e pressionando * (para a frente) ou # (para trás) é um atalho
falstro
1
por que isso é benéfico vs apenas fazendo: / word
jimh 27/03
3
@semja: digamos que você tenha uma variável 'data' e sua indicação válida 'data_valid'. Se eu quiser pesquisar apenas 'dados', mas não 'dados_validos', '/ data' não fará o trabalho. Preciso dizer ao vim onde parar de corresponder ao padrão.
Nathan Fellman
Isso falha no exemplo a seguir: 1word1Consulte stackoverflow.com/a/22148017/2609994 para obter uma solução.
LSchueler
Existe uma vimconfiguração para fazê-lo pesquisar a palavra exata sem envolver a cadeia de pesquisa com caracteres \<e \<?
truthadjustr
77
  1. nome do arquivo vim
  2. pressione /
  3. digite a palavra que você deseja pesquisar
  4. pressione Enter
Mushir
fonte
2
Alguém poderia explicar por que isso pode ter recebido votos negativos? Trabalhou para mim.
Kiee
13
Porque o OP pediu para procurar especificamente "word". A solução postada aqui basicamente faz uma pesquisa %word%, seja ela thiswordisawesomeou word56ou 26word.
Jguy
9
Além disso, porque o OP afirmou explicitamente que eles sabem sobre o /comando. Como tal, esta resposta não é de todo útil.
cmaster - restabelece monica 11/08/16
27

Se você estiver trabalhando no Ubuntu, siga as etapas:

  1. Pressione /e digite a palavra para pesquisar
  2. Para procurar em frente, pressione a tecla 'SHIFT' com a *tecla
  3. Para pesquisar para trás, pressione a tecla 'SHIFT' com a #tecla
Priya R
fonte
1
como posso destacar a palavra pesquisada?
Jorge Saraiva
3
@jorgesaraiva: Em primeiro lugar, você provavelmente obterá uma resposta mais rapidamente, fazendo uma nova pergunta (em vez de esperar que alguém tropeçar nesse comentário três meses depois de sua solicitação). Segundo, você pode fazer :set hlsno Vim para destacar o resultado da pesquisa. Para desativar o destaque do:set nohls
Nathan Fellman 30/03
1
Isso realmente só funciona se o primeiro resultado de fazer /wordé exatamente wordvez deword.+
Pushkin
isso não funciona para mim em uma instância do AWS ubuntu 18.04. usando o windows git-bash para ssh no servidor ubuntu, se isso for relevante. esquisito.
CodingMatters 30/09/19
21

Para pesquisa básica:

  • / pattern - pesquisa adiante por padrão
  • ? pattern - pesquisa para trás
  • n - repete a pesquisa direta
  • N - repetir para trás

Algumas variáveis ​​que você pode querer definir:

  • : definir ignorecase - não faz distinção entre maiúsculas e minúsculas
  • : definir smartcase - caso de uso, se houver maiúsculas
  • : definir incsearch - mostrar correspondência como pesquisa
NeeruKSingh
fonte
3
Não é isso que o OP está pedindo.
Todos os trabalhadores têm Essencial