Me gusta delimitar visualmente el código fuente mediante largas líneas de comentarios: en C++ uso 80 /
caracteres, en Python uso 80 #
caracteres, etc. A lo largo de los años, he notado que Vim ocasionalmente tiene hipo (deja de responder durante aproximadamente medio segundo) cuando me muevo; hoy descubrí que esto solo ocurre en mis líneas delimitadoras.
Por ejemplo:
line 1
line 2
////////////////////////////////////////////////////////////////////////////////
line 4
line 5
Cuando el cursor está en cualquier lugar de la línea 3, cualquier movimiento (arriba, abajo, página arriba, página abajo, izquierda, derecha $
, 0
...) casi siempre presenta un retraso; en otras líneas no es así.
Jugando con esto, encontré:
- El retraso parece ocurrir en líneas con un total de 40 o más símbolos (
/
,,,, etc. ) en cualquier parte de la línea, sin incluir (quizás porque el guión bajo está incluido en la definición de Vim de-
a ) .=
.
#
_
word
- El retraso no parece aumentar en el caso de colas más largas. Por ejemplo, las líneas de 1000
/
caracteres tienen un retraso similar a las de 40/
caracteres. - El retraso sólo se produce al iniciar un "nuevo" movimiento desde esa línea. Usar la repetición de la tecla OS para moverse por la línea no agrega demoras.
- El retraso no parece estar relacionado con el resaltado de sintaxis o los complementos: veo el mismo comportamiento con
vim -u NONE
,syntax off
yfiletype=
. - GUI Vim (gvim) no parece tener este problema.
Estoy usando MacVim 8.0 desde macports en la aplicación Terminal en una MacBook Pro, pero el Vim 7.4 predeterminado proporcionado por Apple tiene el mismo comportamiento.
No he podido encontrar ninguna mención de esto en Google, Stack Overflow o Super User, pero es muy reproducible en mi sistema.
¿Es este un problema conocido? ¿Existe una configuración de tiempo de ejecución o una opción de compilación que controle esto (máximo de símbolos admitidos en una línea o algo así), o una solución alternativa que lo alivie?