search - patterns - Cómo hacer caso de búsqueda insensible en Vim




vim search word in files (9)

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 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.


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


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).


pon este comando en tu archivo vimrc

set ic 

siempre hacer caso de búsqueda insensible





case-insensitive