Як я можу встановити шрифт за замовчуванням у Emacs?


31

Я не можу встановити Inconsolata як шрифт за замовчуванням у Emacs 24.4 Linux.

  • Я змінив шрифт у меню -> Зберегти параметри. Шрифт змінився, але після перезавантаження шрифт такий же, як був за замовчуванням.
  • Додано це до ~/.Xresources: Emacs.font: Inconsolata LGC

    Тоді в init.el: (set-default-font "Inconsolata LGC"). Та сама історія.

Що я роблю неправильно?


Якщо шрифт працює, коли ви його встановите, але він знову зникне наступного разу, коли ви завантажуєте emacs, це може бути проблемою з тим, куди ваші налаштування налаштування (або не) зберігаються.
nispio

Я використовую emacsclient з emacs, розпочатим як демон. Я змінюю налаштування в init.el і після збереження перезавантажую демон.
Maglight

2
Це специфічно для Emacs 24.4? IOW, у вас інша поведінка в іншому складі / релізі? Якщо ні, спробуйте видалити посилання на 24.4.
Дрю

Оскільки ви запускаєте emacs як демон, перевірте весь консольний вихід з вашого дзвінка emacs --daemonі переконайтеся, що немає повідомлень про помилки.
nispio

Я маю це у своєму init.el: (set-frame-font "Ubuntu Mono 11")
thdox

Відповіді:


29

У моїх .emacs, що використовують Emacs для OSX, у мене є наступне:

(custom-set-faces
 ;; custom-set-faces was added by Custom.
 ;; If you edit it by hand, you could mess it up, so be careful.
 ;; Your init file should contain only one such instance.
 ;; If there is more than one, they won't work right.
 '(default ((t (:stipple nil :background "white" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 130 :width normal :family "Inconsolata")))))

Налаштування шрифту

Найлегше встановити шрифт за допомогою меню, якщо ви працюєте з Emacs у графічному середовищі. Використовуйте "Параметри -> Встановити стандартний шрифт ..." у меню.

Тепер ви не закінчили, оскільки лише тимчасово змінили шрифт. Найпростіший метод, про який я знаю, - це використовувати режим налаштування.

M-x customize-face RET default RET

Тепер змініть параметри, які ви хочете змінити, якщо такі є. Якщо ви вже змінили шрифт за допомогою меню, ви повинні побачити свої зміни тут.

Збереження у вашому файлі init

Збережіть для майбутніх сесій будь-який:

  • Натисніть кнопку " Стан" та виберіть " Зберегти для майбутніх сесій"

або

  • C-x C-s перебуваючи в буфері налаштування, який буде повинен робити те саме, але не завжди працює, наприклад, після(set-default-font "Inconsolata")

Якщо все інше не вдалося ...

Можливо, вам пощастить зі сторінкою Встановити шрифти .


16

Я використовую це в своєму init.el:

;; Set default font
(set-face-attribute 'default nil
                    :family "Source Code Pro"
                    :height 110
                    :weight 'normal
                    :width 'normal)

Ви можете спробувати те ж саме, використовуючи Inconsolata замість вихідного коду Pro.


Додано в init.el. Після перезапуску шрифту за замовчуванням.
Maglight

Ви набрали "InconsolataLGC" без порожнього пробілу між "Inconsolata" та "LGC"?
Boccaperta-IT

Так, я також намагався встановити це на Terminus.
Maglight

1
Спробуйте запустити fc-cache -fvз терміналу. Можливо кеш шрифту не є сучасним. Я спробував встановити Anonymous Pro, і він працює на моєму.
Boccaperta-IT

Дякую, але це не допомогло. Я можу встановити цей шрифт, але Emacs не зберігає його в майбутніх сесіях.
Maglight

12

Якщо ви щось змінили у файлі .Xresources, то вам потрібно його перечитати, щоб побачити зміни в поточному сеансі.

  • Щоб зберегти свої старі налаштування ресурсів і застосувати нові:

    xrdb -merge ~/.Xresources
    
  • Щоб викинути старі ресурси та застосувати лише налаштування з .Xresources :

    xrdb ~/.Xresources
    

Коригування у файлі .Xresources краще, оскільки вони застосовуються перед відображенням вікна X11 emacs X11. Настроювання у файлах init (.emacs, .emacs.d /) повторно застосовується до вже створеного вікна. Наприклад, ви можете уникнути "мерехтіння" панелей інструментів під час запуску, коли ви додаєте

! UI elements
Emacs.menuBar: 0
Emacs.toolBar: 0
Emacs.verticalScrollBars: off
! Font settings
Emacs.FontBackend: xft,x
Emacs.font: Inconsolata LGC:size=16

у файл .Xresources .

Ви можете перевірити, що ще доступно за посиланням https://www.gnu.org/software/emacs/manual/html_node/emacs/X-Resources.html


5

Це завжди працює, коли я хочу спробувати інші шрифти (помістіть його у свій файл init.el або .emacs):

(push '(font . "Inconsolata") default-frame-alist)

або

(add-to-list 'default-frame-alist '(font . "Inconsolata"))

У цьому випадку обидва вирази рівнозначні.

Коротше кажучи, ці форми задають шрифт для поточного та всіх майбутніх кадрів Emacs. Оскільки вони зберігаються у вашому файлі конфігурації, налаштування не втрачається при перезапуску.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.