Cuando escribo un texto en alemán que contiene algo como, abücdpor ejemplo, y dwdelante, solo eliminará el, abya que no se interpreta ücomo un carácter de palabra.
Cuando edito reStructuredText, tengo
iskeyword=38,42,43,45,47-58,60-62,64-90,97-122,_
Eso explica por qué las diéresis no están marcadas, pero no entiendo de dónde proviene. Cuando acabo de abrir gVim, esto se establece en
iskeyword=@,48-57,_,192-255
¿De dónde podría venir esto?

set encoding=utf-8en tu.vimrc..vim/vimrcy:set enc?me dautf-8. Lo mismo confenc. Aún así no funciona.:set iskeyword&seüsigue no se reconoce como una parte de una palabra?set iskeyword). Debería ser algo como"@,48-57,_,128-167,224-235"o"@,48-57,_,192-255". ¿Estás usando Vim o Vi? (el valor predeterminado en Vi ("@,48-57,_") no reconoce ü; el valor predeterminado en Vim está bien)iskeyword=@,48-57,_,192-255. Funciona mágicamente en una nueva instancia de Vim ahora. Eso es extraño, tengo que observar eso con más cuidado.Respuestas:
El
@carácter eniskeywordincluye todos los caracteres para los cualesisalpha()(función C) es VERDADERO; en implementaciones modernas de libc (últimos 20 años) esto también busca caracteres unicode.Su segundo
iskeyworduso97-122(az) y64-90(AZ), que no incluye todas las variantes con los diversos signos diacríticos (como la diéresis / diéresis / trema).Entonces la solución es reemplazar
97-122y64-90con@.Este funky
iskeywordproviene del archivo de sintaxis LISP; elrstarchivo de sintaxis incluye un montón de otros archivos de sintaxis para resaltar los bloques de código.Afortunadamente, puede establecer qué idiomas incluir con la
g:rst_syntax_code_listvariable. El valor predeterminado es:Como es poco probable que necesite resaltar la sintaxis de LISP en su archivo reStructuredText, probablemente pueda eliminarlo. Simplemente agréguelo a cualquier parte de su archivo vimrc, si está definido, el archivo de sintaxis usará ese valor en lugar de definir el suyo.
En mi opinión, probablemente quieras usar:
Porque quién sabe qué efectos cobardes causan los otros archivos de sintaxis ...
fuente
@posición de caracteres alfanuméricos fue realmente útil.Si se incorporan gramáticas de otros idiomas, por ejemplo, en archivos de descuento, la configuración de esos idiomas parece anular la configuración de la sintaxis de descuento. Uno puede verificar si ese es el caso usando:
Para solucionar esto, se puede definir un comando automático para ejecutarse cada vez que se ingresa un archivo de reducción (y probablemente también en otros idiomas):
Poner esto en mi
.vimrcsolucionó el problema para mí. Yo estaba usandovim-pandocla sintaxis y los idiomas incluyendo inlineracket,python,shy algunos. Creo que no es necesario definir un comando automático para dejar archivos de descuento, porque cuando ingresas archivos de otros idiomas, sus archivos de sintaxis deberían establecer sus palabras clave, si entiendo correctamente.fuente