Eu normalmente habilito smartcaseno meu .vimrc.
Sem smartcase:
- Se eu quiser uma pesquisa sem distinção entre maiúsculas e minúsculas, escrevo em maiúsculas ou minúsculas (não importa) e anexo a
\cno final da consulta. - A pesquisa com distinção entre maiúsculas e minúsculas acontece por padrão.
Com smartcase:
- Se eu quiser uma pesquisa sem distinção entre maiúsculas e minúsculas, escrevo tudo em letras minúsculas.
- Se eu quiser uma pesquisa com distinção entre maiúsculas e minúsculas, escrevo as letras maiúsculas em maiúsculas.
Mas, com smartcaseativado, como posso dizer que quero uma pesquisa que diferencia maiúsculas de minúsculas de um padrão em minúsculas? Eu esperava que o acréscimo de a \crevertesse o tipo de pesquisa (de modo que, se eu tivesse escrito tudo em letras minúsculas, ou seja, pesquisa sem distinção entre maiúsculas e minúsculas, ele se tornaria uma pesquisa com distinção entre maiúsculas e minúsculas; e se eu tivesse escrito algumas letras maiúsculas letras, ou seja, pesquisa com distinção entre maiúsculas e minúsculas, ela se tornaria uma pesquisa sem distinção entre maiúsculas e minúsculas), mas esse não parece ser o caso (sem trocadilhos).
\cnão é uma alternância, mas na verdade força a correspondência que não diferencia maiúsculas de minúsculas.