patterns how files search vim case-insensitive

how - vim reverse search



Cómo hacer caso de búsqueda insensible en Vim (13)

El buen viejo vim[grep] comando ...

:vimgrep /example/c/ &

  • / C para mayúsculas y minúsculas
  • / C para mayúsculas y minúsculas
  • % es buscar en el búfer actual

Me gustaría buscar una palabra 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 marca i en una expresión regular, convertirá la expresión regular en una expresión regular insensible a mayúsculas y minúsculas. Parece que Vim tiene su propia manera de indicar una expresión regular que no distingue entre mayúsculas y minúsculas.


Además de las sugerencias para /c e ignorecase , el ignorecase me resulta muy útil. Si busca algo que contenga caracteres en mayúscula, hará una búsqueda sensible a mayúsculas y minúsculas; Si busca algo puramente en minúsculas, hará una búsqueda que no distinga mayúsculas y minúsculas. Puedes usar /c y /C para anular esto:

:set ignorecase :set smartcase /copyright " Case insensitive /Copyright " Case sensitive /copyright/C " Case sensitive /Copyright/c " Case insensitive

Ver:

:help //c :help //C :help ''smartcase''


Como @huyz menciona, a veces el comportamiento deseado es el uso de 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:

nnoremap / //c nnoremap ? ?/c

Con eso siempre cuando golpeas / o ? agregará /c para búsqueda sin distinción de mayúsculas y minúsculas.


Como otros sugirieron:

:set ic

Pero lo bueno es que puedes alternar estos modos con:

:set ic!


Necesitas usar la secuencia de escape /c . Asi que:

//ccopyright

Para hacer lo inverso (coincidencia entre mayúsculas y minúsculas ), use /C lugar.


Para alternar entre búsquedas sensibles a mayúsculas y minúsculas, uso este mapeo en mi .vimrc

nmap <F9> :set ignorecase! ignorecase?


Prefiero usar /c al final de la cadena de búsqueda:

/copyright/c


Puede configurar la opción ic en Vim antes de la búsqueda:

:set ic

Para volver a las búsquedas que distinguen entre mayúsculas y minúsculas use:

:set noic

ic es la abreviatura de ignorecase


Puede ejecutar el comando

:set ignorecase

y después de eso, sus búsquedas serán sensibles a mayúsculas y minúsculas.


Puedes configurar ignorecase por defecto, ejecuta esto en shell

echo "set ic" >> ~/.vimrc


Puedes usar en tu vimrc esos comandos:

  • set ignorecase - Todas sus búsquedas serán insensibles a mayúsculas y minúsculas
  • set smartcase : su búsqueda será sensible a las mayúsculas si contiene una letra mayúscula

ignorecase configurar ignorecase si desea utilizar lo que proporciona smartcase .

Recientemente escribí un artículo sobre los comandos de búsqueda de Vim (ambos comandos integrados y los mejores complementos para buscar de manera eficiente).


Vim tiene 2 modos

Modo 1.edit

  1. modo normal (Esc)

La búsqueda funcionará para el modo normal

/ / c para mayúsculas y minúsculas

/ / c búsqueda


pon este comando en tu archivo vimrc

set ic

siempre hacer caso de búsqueda insensible