Emacs: очень медленная прокрутка с подсветкой шрифтов / синтаксиса

Я пытаюсь переключиться на Emacs из Vim в течение нескольких месяцев и столкнулся со странной проблемой: когда включена функция font-lock, прокрутка в emacs становится очень медленной. Пример соответствующей части конфигурации:

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

Это медленно даже на относительно небольших файлах, начинающихся с пары сотен строк. Кажется, что это не очень распространенная проблема, потому что я до сих пор не нашел четкого решения.

GNU Emacs 23.1.1 Ubuntu 10.04

3 ответа

Жирные шрифты, скорее всего, проблема.

Я лично получил копию определения цветовой темы в моем.emacs.el и изменил ее, чтобы избавиться от большей части смелых атрибутов. Таким образом, я получил тему, которая мне нравится, без особого штрафа.

(Требуется цветовая тема)
(defun color-theme-youlike ()
  (Интерактивный)
  (Цвет-тема-установки
   "(Цвет-тема-youlike
     ((цвет переднего плана. "черный")
      (цвет фона "белый")
      (цвет мыши. "sienna3")
      (курсор-цвет. "HotPink")
      (бордюрный цвет. "синий")
      (фоновый режим. свет))
     (по умолчанию ((t (nil))))
...
     (show-paren-mismatch-face ((t (: передний план "белый": фон "фиолетовый")))))))
(set-default-font "Monaco-12")
(Цвет-тема-youlike)

Надеюсь, что это работает и для вас.

Вы можете начать с 'emacs -Q', eval (global-font-lock-mode 1) и посмотреть, воспроизводится ли он по-прежнему. если да, сообщите об ошибке; если нет, проверьте установленный сайт-лисп.

Вы отключили быстрый и ленивый замок. Я думаю, что оба они были разработаны для улучшения отзывчивости и поведения блокировки шрифтов в различных сценариях. Мне любопытно, почему ты их выключил. Чтобы узнать больше о том, что они делают, и когда вы должны их использовать, прочитайте комментарии в файлах lasy-lock и font-lock.el. (Я думаю)

Другие вопросы по тегам