2010-10-03 6 views
8

Je suis en train de passer à Emacs de Vim pendant quelques mois et fait face à l'étrange problème: lorsque la police est verrouillé, le défilement dans emacs devient très lent. Exemple de partie pertinente de config:Emacs: très lent défilement avec la police-verrouillage/coloration syntaxique

(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")) 

Il est lent même sur des fichiers relativement petits commençant par quelques centaines de lignes. Semble que ce n'est pas un problème très commun, parce que je n'ai pas trouvé de solution claire jusqu'à présent.

GNU Emacs 23.1.1 Ubuntu 10.04

Répondre

2

Les caractères gras sont probablement le problème.

J'ai personnellement obtenu une copie d'une définition d'un thème de couleur dans mon .emacs.el et l'ai changé pour se débarrasser de la plupart des attributs gras. De cette façon, j'ai un thème que j'aime sans trop de pénalité.

 
(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) 

Espérons que cela fonctionne pour vous aussi.

0

Vous avez désactivé le verrouillage rapide et paresseux. Je pense que les deux ont été conçus pour améliorer la réactivité et le comportement de font-lock dans divers scénarios. Je suis curieux de savoir pourquoi vous les éteignez. Pour en savoir plus sur ce genre de choses, sur ce qu'ils font et quand vous devriez les utiliser, lisez les commentaires dans les fichiers lasy-lock et font-lock.el. (Je pense)

+0

FYI, emacs 23.2.1 me dit ('Ch v font-lock-support-mode') que' jit-lock-mode' est préféré à 'fast-lock -mode' et 'lazy-lock-mode'. – phils

+0

J'ai essayé différentes combinaisons de verrouillage rapide/paresseux, peu importe. Il y a la version que les modes de coloration que j'ai utilisés sont implémentés de façon inefficace: disons, le mode de coloration pour Ocaml fonctionne lentement quand le mode de coloration pour C est ok avec les mêmes options (rapide/paresseux et ainsi de suite). Maintenant, je viens de quitter Emacs et je suis retourné à vim. J'ai juste besoin d'un bon éditeur de code source. – voidlizard

0

Vous pouvez commencer par 'emacs -Q', eval (global-font-lock-mode 1), et voir si elle se reproduit encore. si oui, classer un bug; Si non, vérifiez votre site-Lisp installé ..