Cuando se ejecuta previous-line, C-po <up>el cursor salta una línea sin problemas ni retrasos. Cuando se ejecuta next-line, C-no <down>el cursor salta correctamente una línea, pero con un retraso significativo. Cuando presiono la tecla hacia abajo, ni siquiera puedo ver el punto en movimiento, solo aparece en algún lugar debajo. Ejecuté el generador de perfiles de Emacs y parece que el culpable es cl-position. Resulta que es que previous-lineliteralmente solo mueve el cursor, mientras next-lineejecuta muchas funciones.
¿Cuál es el problema y cómo se puede solucionar?


visual-line-mode? ¿Tienes algunas líneas muy largas?visual-line-modey no tengo largas colas.Respuestas:
He encontrado una respuesta a mi pregunta al reducir la parte traviesa y buscar en Google. ¡He logrado reducir el retraso 10 VECES! Quiero decir ... ¿Es una locura la cantidad de potencia informática que
next-linese usaba para mover el cursor hacia abajo?La solución:
Pon este código en tu init.el:
(setq auto-window-vscroll nil)La prueba:
Ahora
next-lineno se dispara,line-move-partialpor lo tanto, reduce el retraso. No recuerdo la creación deauto-window-vscrollat. No estaba en ninguna parte de ninguno de mis.elarchivos, no estoy seguro de cómo se configurótpara empezar. Entonces, si alguien tiene problemas de rendimiento con el movimiento del cursor, ¡entonces la solución anterior reducirá el retraso de aproximadamente 50% -80% de tiempo de CPU a 5% de tiempo de CPU!Para comprobar rápidamente si está afectado, simplemente ejecute
C-h v auto-window-vscroll. Si está configurado,tes posible que tenga problemas de rendimiento importantes. Verifique con el generador de perfiles de Emacs si el movimiento del cursor realmente causa un retraso.¡Mucha suerte, compañeros amantes de Emacs!
Fuente de arreglo
fuente
M-x report-emacs-bug.No estoy completamente seguro de cuál es el problema, pero su informe de perfil parece indicar que posn-at-point realiza una nueva visualización de lo esperado, lo que a su vez provoca la recalculación de la línea de modo, y esa línea eléctrica debería hacer más esfuerzos para memorizar su cálculo para la línea de modelo.
IOW, te sugiero
M-x report-emacs-bugy también puedes informar un error a los encargados del mantenimiento de la línea eléctrica.fuente
Parece que estás usando powerline. En particular, está mostrando el nombre del proyecto del proyectil en su línea de modelo. Recientemente ha habido algunas mejoras en el paquete de proyectiles que han mitigado algo de eso. Asegúrate de estar al día.
https://github.com/bbatsov/projectile/issues/1212
https://github.com/bbatsov/projectile/pull/1213
También es posible memorizar funciones que llama la línea de modo. He hecho esto mucho en mi línea de modelo para hacerlo muy rápido.
fuente
Me di cuenta de que mi
doom-modelinetambién está contribuyendo al retraso. De hecho, se dice en el documento dedoom-modeline:Después de configurar
(setq doom-modeline-enable-word-count nil), obtuve una notable aceleración en los movimientos del cursor.fuente