Cómo hacer una búsqueda que no distinga entre mayúsculas y minúsculas en Vim

Resuelto Haiyuan Zhang asked hace 14 años • 16 respuestas

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 le doy la ibandera a una expresión regular, la convertirá en una expresión regular que no distingue entre 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.

Haiyuan Zhang avatar Feb 18 '10 16:02 Haiyuan Zhang
Aceptado

Puede utilizar la \csecuencia de escape en cualquier parte del patrón. Por ejemplo:

/\ccopyrighto /copyright\co incluso/copyri\cght

Para hacer lo inverso (coincidencia que distingue entre mayúsculas y minúsculas ), utilice \C(C mayúscula) en su lugar.

Chinmay Kanchi avatar Feb 18 '2010 09:02 Chinmay Kanchi

Además de las sugerencias para \cy ignorecase, las encuentro smartcasemuy útiles. Si busca algo que contenga caracteres en mayúsculas, realizará una búsqueda que distinga entre mayúsculas y minúsculas; si busca algo exclusivamente en minúsculas, realizará una búsqueda que no distinguirá entre mayúsculas y minúsculas. Puedes usar \cy \Cpara 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'
DrAl avatar Feb 18 '2010 12:02 DrAl