Как изменить размер и тип шрифта по умолчанию в emacs?

Я использую emacs 23.3. Мне нужно изменить размер и тип шрифта, может ли кто-нибудь мне помочь?


person demonchand    schedule 17.05.2011    source источник
comment
Аналогичный вопрос об изменении размера шрифта по умолчанию и его сохранении в .emacs: stackoverflow.com/q/294664/ 94687   -  person imz -- Ivan Zakharyaschev    schedule 27.02.2018


Ответы (9)


Вы можете использовать строку меню. Перейдите к _1 _-> _ 2_.

После выбора шрифта не забудьте нажать _3 _-> _ 4_, иначе ваш новый шрифт не будет сохранен после закрытия Emacs.

person Tikhon Jelvis    schedule 17.05.2011
comment
Это не работает (возможно, раньше?). Он изменяет шрифт только для текущего кадра и не сохраняется для будущих сеансов. См. этот ответ, чтобы узнать, как работает метод. - person alexis; 06.04.2014
comment
@alexis: У меня все еще работает на Emacs-24.2. Вот снимок экрана. (Извините за ужасный выбор шрифта: P.) Он также правильно сохранился, когда я перезапустил Emacs. Возможно, у вас есть разница в конфигурации на вашем конце или что-то в этом роде? - person Tikhon Jelvis; 06.04.2014
comment
Моя версия почти не отличается: у меня есть GNU Emacs 24.3.1 на OS X, и она не работает. Очевидно, что-то другое, но см. Также вопрос и обсуждение в ответе, на который я указал. Такой подход спас мне день. Думаю, вывод - YMMV. - person alexis; 07.04.2014
comment
Также не работал для Emacs 24.4 в OS X 10.10.5. Но прямой переход на ~ / .emacs работает. - person Fonzie; 22.10.2015
comment
Если вы скрыли строку меню, но все же хотели бы использовать средство выбора шрифтов графического интерфейса с предварительным просмотром, вы можете использовать M-x menu-set-font. - person Vladimir Panteleev; 25.12.2015
comment
Или вы все равно можете нажать F10 и выбрать пункт меню «Параметры-› Установить шрифт по умолчанию ». - person hajovonta; 20.12.2016
comment
Emacs 26.3 в OS X демонстрирует то же поведение: Сохранить для будущих сеансов прямо из меню не работает, но Mx customize-face RET default RET, а затем вносит некоторые изменения (потому что показанное значение - это то, что я выбрал из Set default Font menu) и сообщая customize для сохранения, он написал правильное предложение custom-set-faces в мой файл init.el. Как будто customize на Mac не думает, что что-то изменится, если вы измените шрифт через меню, поэтому он ничего не выводит. Прикосновение к значению внутри буфера настройки заставляет его думать, что изменение действительно произошло. - person Daniel Martin; 04.03.2021

Вы также можете сделать следующее в своем .emacs файле.

Emacs 23.1

(set-frame-font "Inconsolata 12" nil t)

Старые версии Emacs

(set-default-font "Inconsolata 12" nil t)
person Dov Grobgeld    schedule 18.05.2011
comment
(set-default-font Fontname-Size) теперь не рекомендуется использовать (set-frame-font Fontname-Size) - person Napoleon; 27.05.2015
comment
Вы также должны установить для аргумента FRAMES значение t, чтобы воздействовать на все кадры, а не только на текущий кадр. (set-frame-font Fontname-Size nil t) - person Nick McCurdy; 31.03.2017
comment
Вы также можете запустить describe-font, чтобы определить текущий шрифт (например, если он установлен через настройку) или выяснить возможные варианты для полного имени. - person kolen; 21.11.2018

Чтобы получить расширенный список настроек, используйте

M-x customize-face RET

person Jin    schedule 03.06.2011

У меня есть следующие настройки в init.el:

(set-face-attribute 'default nil :font "Menlo" :height 160)

Примечание. Если у вас есть предустановленный размер окна (ширина и высота), атрибут height шрифта будет мешать этому макету.

person Saurabh    schedule 01.04.2020
comment
В Ubuntu 20.04.2 пример emacs 27.2: (set-face-attribute 'default nil :font "Ubuntu Medium" :height 160). Используйте M-x menu-set-font, чтобы открыть всплывающее окно и просмотреть шрифты, доступные в вашей установке. - person Richard Logwood; 29.03.2021

В Emacs 25.1 в MacOS по умолчанию используется Menlo 12. Хотел увеличить размер.

C-x C-f ~/.emacs

Добавить в конец ~/.emacs файла

(set-default-font "Menlo 14")

Чтобы сразу увидеть эффект изменения, находясь в ~/.emacs

M-x eval-buffer [RET]

person mythicalcoder    schedule 21.03.2017
comment
Это работает для ПЕРВОГО файла, который я открываю при запуске emacs, но затем последующие буферы снова используют меньший шрифт. - person HaPsantran; 04.09.2019

В своем ответе я сконцентрируюсь на установке размера шрифта по умолчанию с помощью ресурсов X. Использование ресурсов X уже упоминалось в ответе с упоминанием ~/.Xdefaults; Я дам более подробную информацию (то же, что я уже описал в https://unix.stackexchange.com/a/426914/4319. Помимо высоты «шрифта по умолчанию» в Emacs, можно точно так же установить другие параметры шрифта.

Чтобы установить определенную высоту шрифта по умолчанию для Emacs, я ввел /etc/X11/Xresources-site (/etc/X11/Xresources тоже в порядке, хотя может быть перезаписан вашим дистрибутивом):

Emacs.default.attributeHeight: 94

Это повлияет также на удаленные X-клиенты, которые являются Emacs (например, emacs, запущенные на удаленном хосте через ssh).

/etc/X11/Xresources-site и /etc/X11/Xresources (и, вероятно, ~/.Xresources и ~/.Xdefaults) обычно читаются в начале вашего X-сеанса; чтобы немедленно повлиять на ваши текущие ресурсы X, запустите что-то вроде xrdb -merge /etc/X11/Xresources-site. Ресурсы X могут быть просмотрены xrdb -query.

На самом деле, в моем случае /etc/X11/Xresources-site читается благодаря строке в /etc/X11/Xresources (которая читается стартовыми скриптами):

#include "/etc/X11/Xresources-site"

так что /etc/X11/Xresources - это то, что читают точно.

Есть также файлы с таким же синтаксисом, которые читаются каждый раз, когда запускается X-программа, такая как emacs. В моем случае это: ~/.Xdefaults-MY_HOST_NAME, /etc/X11/app-defaults/Emacs (только для emacs-athena, а не для emacs-gtk3), /usr/share/X11/app-defaults/Emacs и т. Д. (Но мне больше нравится идея загруженных ресурсов X, показанных с помощью xrdb -query; чтобы удаленные клиенты X читали те же ресурсы X.)

Другие ресурсы X, понятные Emacs, описаны в https://www.gnu.org/software/emacs/manual/html_node/emacs/Table-of-Resources.html#Table-of-Resources.

В Emacs 24.3 была ошибка, из-за которой не соблюдались атрибуты лица по умолчанию. поступает из ресурсов X, например, в моем примере выше. Это было исправлено с 24.4.

person imz -- Ivan Zakharyaschev    schedule 27.02.2018

Если вы используете Linux / X11, вам может потребоваться установить это в ~/.Xdefaults. Я установил шрифт там, поскольку другие ответы здесь не имеют никакого эффекта.

Я могу увидеть доступные настройки шрифта, запустив в Emacs: helm-select-xfont

Затем я начинаю набирать Conso и вижу такие записи:

-Consolas-normal-normal-normal-*-*-*-*-*-m-0-iso10646-1
...

Затем я поместил его в ~/.Xdefaults, установив размер 12 как:

Emacs.font: xft:-*-Consolas-normal-normal-normal-*-12-*-*-*-m-0-iso10646-1

и перезапустите Emacs.

person Micah Elliott    schedule 30.01.2017

Путь Emacs

  1. M-x customize-group
  2. Введите faces
  3. Нажмите на Основные лица
  4. Открыть / развернуть по умолчанию
  5. Измените название шрифта (например, Inconsolata) и отмените выбор литейного завода.
  6. Нажмите Применить и сохраните
person yPhil    schedule 06.01.2021

Просто нажмите M-x, затем введите set-frame-font. Будут отображены все доступные шрифты, существующие на вашем компьютере, выберите тот, который вы ищете. Я использую этот способ для простой смены шрифта в моем Emacs; вместо изменения файла .spacemacs или .emacs.

person Esmaeil MIRZAEE    schedule 27.11.2019