Замена полужирных шрифтов обычными шрифтами

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


person missingfaktor    schedule 03.07.2012    source источник


Ответы (1)


Предполагая, что вы используете встроенные темы Emacs 24,

мой ответ на этот вопрос вполне применим. Что-то вроде этого (не проверено):

(defun debold-font-lock ()
  "remove all colors from font-lock faces except comment and warning"
  (mapc (lambda (face)
          (when face
            (set-face-bold-p face nil)))
        (face-list)))

(debold-font-lock)

Вы можете добавить это в load-theme с советом, если вам нужно, чтобы это происходило всегда.

РЕДАКТИРОВАТЬ: я упомянул совет выше, но, как правило, лучше не советовать, если вы можете помочь.

Итак, мы можем определить новую функцию:

(defun load-theme-no-bold ()
  (interactive)
  (call-interactively 'load-theme)
  (debold-font-lock))

При необходимости сопоставьте эту функцию с клавишей или вызовите ее непосредственно из M-x.

РЕДАКТИРОВАТЬ: Информация о совете.

В Emacs вы можете изменить способ работы любой функции, используя механизм советов.

Вы думаете, что "P" следует вставлять с нажатой клавишей a? Без проблем.

См. документы.

Поскольку это мощный инструмент, о нем часто говорят, но на самом деле его следует применять только в крайнем случае, потому что вы никогда не знаете, какие пакеты зависят от существующего поведения.

person event_jr    schedule 03.07.2012
comment
Не могли бы вы пояснить последнюю фразу? Я не могу этого понять. - person missingfaktor; 03.07.2012