2010-10-03 26 views
8

Estoy tratando de cambiar a Emacs de Vim durante unos meses y enfrenté el extraño problema: cuando el font-lock está activado, el desplazamiento en emacs se vuelve muy lento. Ejemplo de una parte relevante de config:Emacs: desplazamiento muy lento con font-lock/sintaxis para colorear

(require 'vimpulse) 
(require 'font-lock) 
(require 'color-theme) 

(global-font-lock-mode 1) 
;;(setq font-lock-maximum-decoration t 
;;font-lock-maximum-size nil) 
;;(setq font-lock-support-mode 'fast-lock-mode ; lazy-lock-mode 
;; fast-lock-cache-directories '("~/.emacs-flc")) 

Es lento, incluso en un número relativamente pequeño archivo que comienzan con un par de cientos de filas. Parece que este no es un problema muy común, porque no encontré ninguna solución clara hasta el momento.

GNU Emacs 23.1.1 Ubuntu 10.04

Respuesta

2

negrita son probablemente el problema.

Personalmente obtuve una copia de una definición de un tema de color en mi .emacs.el y la cambié para deshacerme de gran parte de los atributos en negrita. De esta manera obtuve un tema que me gusta sin mucha penalización.

 
(require 'color-theme) 
(defun color-theme-youlike() 
    (interactive) 
    (color-theme-install 
    '(color-theme-youlike 
    ((foreground-color . "black") 
     (background-color . "white") 
     (mouse-color . "sienna3") 
     (cursor-color . "HotPink") 
     (border-color . "Blue") 
     (background-mode . light)) 
    (default ((t (nil)))) 
... 
    (show-paren-mismatch-face ((t (:foreground "white" :background "purple"))))))) 
(set-default-font "Monaco-12") 
(color-theme-youlike) 

Espero que te sirva también.

0

Desactivó el bloqueo rápido y lento. Creo que ambos fueron diseñados para mejorar la capacidad de respuesta y el comportamiento de font-lock en varios escenarios. Tengo curiosidad por qué los apagarías. Para obtener más información acerca de esas cosas, qué hacen y cuándo debe usarlas, lea los comentarios en los archivos lasy-lock y font-lock.el. (Creo)

+0

FYI, emacs 23.2.1 me dice ('Ch v font-lock-support-mode') que' jit-lock-mode' se prefiere a 'fast-lock -mode' y 'lazy-lock-mode'. – phils

+0

He intentado diferentes combinaciones de bloqueo rápido/lento, lo que sea. Existe la versión que los modos de colorear que he usado se implementan de manera ineficaz: por ejemplo, el modo de coloración para Ocaml está trabajando lento cuando el modo coloreado para C está bien con las mismas opciones (rápido/flojo, etc.). Ahora acabo de dejar emacs y he vuelto a vim. Solo necesito un buen editor de código fuente. – voidlizard

0

Puede comenzar con 'emacs -Q', eval (global-font-lock-mode 1) y ver si aún se reproduce. en caso afirmativo, presente un error; si no, compruebe su sitio-lisp instalado.