По общему признанию, это проблема первой мировой проблемы, но я немного придирчив к внешнему виду дисплея, и я нахожу это действительно раздражающим, когда какой-то режим устанавливает новый размер шрифта, семейство, полужирный / курсив и т. Д. Что я хотел бы сделать, так это поместить (set-frame-font "Menlo-10")
в верхнюю часть моего .emacs, а затем заставить emacs никогда не изменять любой аспект этого шрифта по умолчанию, кроме цвета.
Я могу получить желаемый эффект, сделав что-то вроде этого:
(mapc (lambda (face)
(set-face-attribute face nil
:family "Menlo"
;; something like (cdr (assoc 'font (frame-parameters)) would be better
;; for the :family, but it didn't immediately work
:width 'normal
:height 1.0
:weight 'normal
:underline nil
:slant 'normal))
(remove 'default (face-list)))
, но это работает только после того, как я загрузил новый буфер, который создал измененные грани шрифта, и это ужасный хак, несмотря ни на что. Я подозреваю, что в блокировке шрифтов просто нет возможности игнорировать некоторые части того, что запрашивает режим, но я решил спросить.
Кроме того, AUCTeX на данный момент является худшим нарушителем, так что если поочередно есть просто параметр AUCTeX где-то, чтобы он не запрашивал изменения в семье, размере и т. Д., Во-первых, это по крайней мере сделало бы проблему менее раздражающей .
В настоящее время я использую Emacs 24, извлеченный из HEAD.