Como posso procurar no vim um padrão que NÃO diferencia maiúsculas de minúsculas?

18

Ocasionalmente, procuro pesquisar arquivos vimou lessusar /ou ?, até onde sei, os padrões de pesquisa diferenciam maiúsculas de minúsculas.

Por exemplo, /foonão encontrará as mesmas coisas que /FOOo encontrará. Existe uma maneira de torná-lo menos rigoroso? Como posso pesquisar vimou encontrar lessum padrão que NÃO diferencia maiúsculas de minúsculas?

Mike B
fonte
2
Nas lesspesquisas não diferenciam maiúsculas de minúsculas, a menos que você use uma sequência que contenha uma letra maiúscula. Assim, fooirá corresponder Fooe FoO, mas Foosó irá corresponder Fooe não fooetc. Também veja aqui: menos é sempre maiúsculas e minúsculas .
terdon
1
@terdon Interessante! Estou lutando para entender o "porquê" de se lesscomportar dessa maneira, mas suponho que esse seja um tópico para outro dia. Obrigado!
Mike B
Bem, por um lado, acho extremamente útil ao pesquisar nas páginas de manual. Eu odiaria que fosse sensível a maiúsculas. Existem alguns posts sobre isso, também dê uma olhada aqui: Posso forçar o `man` a fazer uma correspondência sensível a letras minúsculas? e aqui: Pesquisa sem distinção entre maiúsculas e minúsculas nas páginas do manual . De fato, se você não se importa, removerei lessda sua pergunta, já que isso é abordado muito bem nos outros posts e as respostas que você recebeu explicam como fazê-lo no vi.
terdon
@terdon Por mim tudo bem, embora por favor considere deixando este comentário diálogo em como eu tendem a usar os dois lesse vie essa informação é valiosa.
Mike B
Como um ponto de esclarecimento, eu realmente estou usando vim(mesmo que esteja digitando vi). Desculpas pela confusão.
24515 Mike B

Respostas:

21

Em viou vimvocê pode ignorar maiúsculas :set ice minúsculas , e todas as pesquisas subsequentes considerarão a configuração até que você a redefina :set noic. Em lesshá opções -ie -Iignorar caso.

Janis
fonte
9
Eu também gostaria de recomendar :set smartcase, a fim de pesquisar apenas com distinção entre maiúsculas e minúsculas quando pelo menos o caractere maiúsculo é usado.
24515 Bernhard
3
Apenas para o registro, smartcase é apenas vim. Mas o "vi" do OP provavelmente é vim, por isso vale a pena mencionar / tentar.
Random832
@ Random832 Sim. Corrigir. Atualizou a pergunta original para mencionar em vimvez de vi.
24515 Mike B
27

Use a \csequência de escape:

/foo\c

Consulte também: /programming/2287440/how-to-do-case-insensitive-search-in-vim

g33kz0r
fonte
7
Observe que isso pode ir para qualquer lugar do padrão; portanto, se você decidir, depois de começar a digitar, que deseja que o padrão não diferencie maiúsculas de minúsculas, basta adicionar \conde quer que esteja - por exemplo /some_very_lo\cng_text,.
wchargin
2

No seu .vimrcarquivo, inclua

set ignorecase

ou

set ic

Para reativar a distinção entre maiúsculas e minúsculas, use :set ic!.

todgru
fonte
1
Oi! Parece bom, mas não acrescenta muito à resposta já aceita, não é?
dhag
1
@dhag todas as respostas fornecem uma maneira diferente de realizar a mesma tarefa. Definir o valor em .vimrc permite que a configuração persista em outras sessões do vim.
todgru
@ Dhag, você está certo, pois isso não ajuda em nada a resolver o problema do OP.
28915 todgru