Vim spellcheck no siempre funciona en el archivo.tex. Compruebe la región en Vim
latex spell-checking (2)
Utilizo Vim para escribir mis archivos .tex
, pero tengo problemas con el corrector ortográfico en Vim. A veces no comprueba las palabras, y creo que podría ser por la siguiente razón.
Como Vim claramente no debe revisar todas las palabras en el documento .tex
, por ejemplo, no el preámbulo, solo verifica la ortografía en ciertas regiones (en el sentido de la sintaxis). Como me he reunido de here , una de estas regiones es texSectionZone
. Estas regiones pueden llegar a ser bastante grandes, de hecho, a menudo una sección lo es, por lo que Vim está teniendo problemas para darse cuenta de que en realidad está en una región texSectionZone
(o en cualquier otra), y por lo tanto no comprueba la ortografía. Esto puede suceder si realizo una búsqueda en el documento o cualquier tipo de salto que omita varias líneas (o más bien páginas).
La forma en que llegué a la conclusión de que esta podría ser la razón es la siguiente: Sé que el comando
:echo synIDattr(synID(line("."),col("."),1),"name")
imprime el nombre de la región / regiones en que se encuentra (lo encontré here ), de modo que cuando el corrector ortográfico no funcionó, lo intenté y me dijo que no estaba en ninguna región. Los lugares donde funcionó, yo estaba en una región donde debería revisar la ortografía.
Hasta ahora, mi única solución es encontrar la sección más cercana sobre el punto que quiero que revise el deletreador, y luego mover manualmente el cursor hacia abajo hasta el punto dado.
Idealmente, me gustaría mucho una solución que garantice que esto no suceda, pero también me conformaría con una forma de hacer manualmente la actualización de vim en qué región está, sin que tenga que mover mucho el cursor. En este último caso, estoy pensando en una solución que se podría hacer a un atajo.
PD Estaba en duda acerca de qué llamar a la pregunta. Si se te ocurre un título que explique mejor el problema, puedes cambiarlo libremente.
La comprobación de ortografía no se realiza cuando no se define ningún grupo de sintaxis (o no se encuentra por vim). Me parece útil habilitar la revisión ortográfica incluso para el grupo indefinido (consulte el nivel superior en la documentación de sintaxis de vim).
Para hacerlo, escribe el comando:
syntax spell toplevel
en el archivo ~/.vim/after/syntax/tex.vim
. Hacer el archivo si no existe.
syntax/tex.vim
ya usa patrones de sincronización bastante elaborados para garantizar que el resaltado de sintaxis sea preciso, pero para documentos largos y complejos, esto todavía puede fallar.
Lo mejor que puedes hacer es intentar aumentar ambos valores de
syn sync maxlines=200
syn sync minlines=50
(por ejemplo, a 2000 y 500). Ponga esto en ~/.vim/after/syntax/tex.vim
para anular los valores predeterminados.
syntax sync fromstart
Puede dar los mejores resultados, pero puede ser demasiado lento. Encontrará una descripción de la sincronización de sintaxis en :help :syn-sync
.