Как я могу установить разные размеры шрифта для буферов и для строки режима?


14

У меня есть эта строка в моем файле init.el, чтобы установить размер шрифта во всех кадрах:

(push '(font . "DejaVu Sans Mono-10") default-frame-alist)

Это работает, но я хотел бы иметь больший шрифт во всех буферах, сохраняя при этом меньший шрифт для строки режима (чтобы он мог вместить больше информации и быть менее отвлекающим). Идея состоит в том, чтобы установить это автоматически, не меняя размер шрифта с помощью Cx C- + для каждого открытого буфера.

Я использую Emacs 25.0.50.1, скомпилированный из транка в системе GNU / Linux.

Изменить: только что добавил ответ, показывающий, как это можно сделать.

Ответы:


14

Попробуйте заменить код для установки размера шрифта следующим образом:

(set-face-attribute 'default nil :font "DejaVu Sans Mono-14")
(set-face-attribute 'mode-line nil :font "DejaVu Sans Mono-10")

Конечно, вы хотите изменить размеры ( 14и 10) на значения по своему вкусу.


Если вы хотите настроить конкретное лицо и не знаете его имени, попробуйте сделать

M-x list-faces-display RET

Это даст вам список всех лиц (с превью), которые вы можете искать по определенным ключевым словам.


1
Спасибо, вот и все. Функция отображения списка лиц оказывается очень полезной, поскольку существует 5 связанных с линией режима линий, которые можно изменить.
undostres

@undostres Добро пожаловать :)
itsjeyd

Есть ли способ указать шрифт относительно темы по умолчанию? Указание определенного размера шрифта останавливает масштабирование шрифта при использовании text-scale-увеличить / уменьшить
jr0cket

7

Благодаря ответу, предоставленному itsjeyd, мне удалось написать короткое выражение, чтобы изменить размер всех связанных граней модовой линии для всех текущих и будущих фреймов.

Если вы используете другие темы, кроме стандартной (например, zenburn и т. Д.), Код должен быть помещен после того, как вы объявили тему; т.е. после этой строки:

(load-theme 'solarized-light t)

Предполагая, что ваш размер шрифта по умолчанию не равен 10, код будет:

(let ((faces '(mode-line
               mode-line-buffer-id
               mode-line-emphasis
               mode-line-highlight
               mode-line-inactive)))
     (mapc
      (lambda (face) (set-face-attribute face nil :font "DejaVu Sans Mono-10"))
      faces))

Для меньшего шрифта установите меньшее значение («DejaVu Sans Mono-9»). Другие шрифты могут быть использованы: inconsolata и т. Д.

Редактировать: добавлен скриншот с результатами. Размер шрифта в строке состояния равен 10, а остальные (буферы и т. Д.) - 12.

Меньший шрифт строки режима

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