Настройки шрифта Emacs не работают в новом фрейме


12

Я пытаюсь освоиться с Emacs. Я установил стартовый комплект Emacs . Сейчас я пытаюсь настроить шрифты. В ~/.emacs.d/init.elя сделал (set-frame-font "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"). Он работает нормально, пока я не сделаю C-x 5 2. Новый фрейм создается со шрифтами, которые были в системе до моей настройки. Как мне переопределить это поведение, чтобы использовать только те шрифты, которые я указал в init.el? Должен ли я, вероятно, создать ~/.emacsфайл для таких настроек (сейчас его нет)?

Ответы:


20

set-frame-fontустанавливает шрифт текущего кадра. Чтобы установить шрифт по умолчанию для всех кадров, включите в него следующую строку ~/.emacs.d/init.el, установите fontпараметр в default-frame-alist:

(add-to-list 'default-frame-alist
             '(font . "-adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1"))

~/.emacsэто традиционное расположение файла конфигурации Emacs. ~/.emacs.d/init.elэто альтернативное имя с точно такой же ролью. Используйте либо (но не оба).

Для дисплеев X (то есть в Unix или в не-Unix системах, использующих X-сервер) вы также можете установить шрифт через X-ресурсы . Во многих системах ~/.Xresourcesчитается при входе в систему, и вы можете написать там:

Emacs.font: -adobe-courier-medium-r-normal--12-120-75-75-m-70-iso8859-1


Yay, наконец, рабочий ответ на это. set-default-font ...? Нет, это было бы слишком просто!
Сэм Уоткинс

Введите M-x customize-option, введите Customize variable: default-frame-alist, нажмите INS, введите Parameter: fontи Value: "-outline-Droid Sans Mono-normal-normal-normal-mono-13-*-*-*-c-*-iso8859-1"(обратите внимание "на шрифт), нажмите StateиSave for Future Sessions
kwarnke

6

set-frame-fontпринимает два необязательных аргумента: KEEP-SIZEи FRAMES. Если FRAMESустановлено значение, отличное от nil, тогда шрифт применяется к будущим кадрам.

(set-frame-font "Inconsolata-13" t t)

Я не уверен, как долго это было, но это верно для Emacs 24.4.1.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.