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 i
bandera 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
\c
puede 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\c
al final.set ignorecase
búsquedas insensibles a mayúsculas y minúsculas en mi vimrc, y puedo usar\C
para hacer una búsqueda sensible a mayúsculas y minúsculas similar a lo que @AlokSinghal mencionó.set smartcase
que cambiará automáticamente a una búsqueda entre mayúsculas y minúsculas si usa mayúsculas.set smartcase
se aplica solo cuandoset ignorecase
ya está activo. Estaba perplejo por esto por un tiempo. Ver consejos de Vim .\c
versus\C
Además de las sugerencias para
\c
yignorecase
, me parecesmartcase
muy ú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\c
y\C
para anular esto:Ver:
fuente
ignorecase
es 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.smartcase
trabajar, 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.I
indicador 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
ic
opción en Vim antes de la búsqueda:Para volver a las búsquedas que distinguen entre mayúsculas y minúsculas, use:
ic
es taquigrafía paraignorecase
fuente
\c
no 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
vimrc
comandos: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
ignorecase
si desea utilizar lo quesmartcase
proporciona.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 smartcase
no 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
\c
al 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á\c
para la búsqueda que no distingue entre mayúsculas y minúsculas.fuente
smartcase
opción?smartcase
Vim 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
ignorecase
de forma predeterminada, ejecutar esto en shellfuente