¿Hay alguna forma de indicarle a Vim que quiero ignorar los signos diacríticos / acentos al buscar? Por ejemplo, me gustaría poder buscar
kočička
por entrar
/kocicka
Las opciones ignorecasey smartcaseson muy útiles, pero no parecen tener nada que ver con diacríticos / acentos.

:h [[=y:h patterns-composing.Respuestas:
Como @muru mencionó en el comentario , podría usar una clase de equivalencia (descrita en
:help /[[) que parece ser una expresión de clase de caracteres evaluada como un conjunto de caracteres similares (es decir, son los mismos una vez que elimina cualquier acento / signo diacrítico).Por ejemplo, para buscar
kočičkaykocickacon el mismo patrón, puede usar esto:donde
[[=c=]]es la clase de equivalencia para elcpersonaje.Para insertar automáticamente esta clase de caracteres cada vez que presiona
cmientras realiza una búsqueda, puede usar esta asignación:que puede desglosarse así:
<expr>escriba la evaluación de una expresióngetcmdtype() =~ '[?/]'prueba si estás escribiendo una búsqueda hacia atrás o hacia adelante'[[=c=]]'devolver la clase de equivalencia para elcpersonaje si la prueba anterior tuvo éxito'c'devolver elcpersonaje de lo contrarioEl mapeo anterior tiene 2 inconvenientes:
cpersonajePodría mejorarse reasignando
<CR>así:Cuando presiona
<CR>después de escribir un patrón para una búsqueda, la asignación reemplazará automáticamente todos los caracteres alfabéticos por su contraparte de clase de equivalencia.La asignación para
<CR>es similar a la asignación anterior parac, excepto que no usa el argumento<expr>sino la asignación del sistema<C-\>e.<expr>le permite insertar la evaluación de una expresión, mientras<C-\>eque le permite reemplazar toda la línea de comando con la evaluación de una expresión.fuente
/kočičkacoincidenciaskocicka, puede usar en'[[:lower:][:upper:]]'lugar de'\a'. Las alternativas'[:alpha:]'y'\I'no parecen funcionar con caracteres de varios bytes; sin embargo,'[^[:punct:]]'parece funcionar (aunque estoy menos seguro), y supongo que también construirá su propia clase de equivalencia (por ejemplo,'[А-яЁё]').