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