Me gustaría buscar una palabra en mayúscula, por ejemplo, COPYRIGHT en un archivo. Intenté realizar una búsqueda como:
/copyright/i # Doesn't work
Pero no funciona. Sé que en Perl, si doy la ibandera en una expresión regular, se convertirá en una expresión regular que no distingue entre mayúsculas y minúsculas. Parece que Vim tiene su propia forma de indicar una expresión regular sin distinción entre mayúsculas y minúsculas.
search
vim
case-insensitive
Haiyuan Zhang
fuente
fuente

\cpuede aparecer en cualquier parte del patrón, por lo que si escribe un patrón y luego decide que desea una búsqueda que no distinga entre mayúsculas y minúsculas, simplemente agregue un\cal final.set ignorecasebúsquedas insensibles a mayúsculas y minúsculas en mi vimrc, y puedo usar\Cpara hacer una búsqueda sensible a mayúsculas y minúsculas similar a lo que @AlokSinghal mencionó.set smartcaseque cambiará automáticamente a una búsqueda entre mayúsculas y minúsculas si usa mayúsculas.set smartcasese aplica solo cuandoset ignorecaseya está activo. Estaba perplejo por esto por un tiempo. Ver consejos de Vim .\cversus\CAdemás de las sugerencias para
\cyignorecase, me parecesmartcasemuy útil. Si busca algo que contenga caracteres en mayúscula, hará una búsqueda entre mayúsculas y minúsculas; si busca algo puramente en minúsculas, hará una búsqueda que no distingue entre mayúsculas y minúsculas. Puede usar\cy\Cpara anular esto:Ver:
fuente
ignorecasees que afecta tanto a las sustituciones como a las búsquedas. Creo que tiene sentido tener búsquedas (inteligentes) que no distingan entre mayúsculas y minúsculas, pero las sustituciones distinguen entre mayúsculas y minúsculas por defecto. Pero no hay forma de hacer eso que yo sepa.smartcasetrabajar, también necesitaset ignorecase. Un gran consejo, gracias!:%s/lowercasesearch\C/replaceString/g. Esto no crea la funcionalidad predeterminada que desea, pero le permite forzar la distinción entre mayúsculas y minúsculas para los reemplazos y al mismo tiempo beneficiarse de smartcase al buscar.Iindicador en una sustitución para forzar que el patrón distinga entre mayúsculas y minúsculas. Al igual:%s/lowercasesearch/replaceString/gI.After "*" and "#" you can make 'smartcase' used by doing a "/" command, recalling the search pattern from history and hitting <Enter>.Puede configurar la
icopción en Vim antes de la búsqueda:Para volver a las búsquedas que distinguen entre mayúsculas y minúsculas, use:
ices taquigrafía paraignorecasefuente
\cno funciona en vi.Puedes emitir el comando
y después de eso, sus búsquedas no distinguen entre mayúsculas y minúsculas.
fuente
Para cambiar entre búsqueda sensible a mayúsculas y minúsculas, uso esta asignación en mi .vimrc
nmap <F9> :set ignorecase! ignorecase?fuente
ignorecase?muestra el estado actual de la bandera. (en la línea de comando)Puedes usar en tus
vimrccomandos:set ignorecase- Todas sus búsquedas serán mayúsculas y minúsculasset smartcase- Su búsqueda será sensible a mayúsculas y minúsculas si contiene una letra mayúsculaDebe configurar
ignorecasesi desea utilizar lo quesmartcaseproporciona.Recientemente escribí un artículo sobre los comandos de búsqueda de Vim (tanto el comando integrado como los mejores complementos para buscar de manera eficiente).
fuente
set smartcaseno realiza búsquedas sin distinción entre mayúsculas y minúsculas si no uso letras mayúsculas ... ¿es eso normal?Como otros sugirieron:
Pero lo mejor es que puedes alternar dichos modos con:
fuente
pon este comando en tu archivo vimrc
siempre haga una búsqueda insensible a mayúsculas y minúsculas
fuente
set noic.El buen viejo
vim[grep]comando ...fuente
Cannot open file "&"%lugar de%.Prefiero usar
\cal final de la cadena de búsqueda:fuente
Como @huyz menciona, a veces el comportamiento deseado es usar búsquedas que no distinguen entre mayúsculas y minúsculas pero sustituciones sensibles a mayúsculas y minúsculas. Mi solución para eso:
Con eso siempre cuando presionas
/o?agregará\cpara la búsqueda que no distingue entre mayúsculas y minúsculas.fuente
smartcaseopción?smartcaseVim tiene 2 modos
Modo 1.edit
La búsqueda funcionará para el modo normal
/ \ c para mayúsculas y minúsculas
/ \ c buscar
fuente
Puede establecer
ignorecasede forma predeterminada, ejecutar esto en shellfuente