Як я можу встановити різні розміри шрифту для буферів та для рядка режиму?


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 You welcome :)
itsjeyd

Чи є спосіб вказати шрифт відносно теми за замовчуванням? Визначення конкретного розміру шрифту зупиняє масштабування шрифту при використанні збільшення / зменшення масштабу тексту
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.