Cuando escribo un texto en alemán que contiene algo como, abücd
por ejemplo, y dw
delante, solo eliminará el, ab
ya 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-8
en tu.vimrc
..vim/vimrc
y: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 eniskeyword
incluye 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
iskeyword
uso97-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-122
y64-90
con@
.Este funky
iskeyword
proviene del archivo de sintaxis LISP; elrst
archivo 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_list
variable. 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
.vimrc
solucionó el problema para mí. Yo estaba usandovim-pandoc
la sintaxis y los idiomas incluyendo inlineracket
,python
,sh
y 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