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

12

Я постоянно уменьшаю масштаб (Cx C--) в каждом используемом буфере, чтобы увидеть больше строк кода, над которым я работаю.

Есть ли способ установить уровень масштабирования в моем .emacs, не в интерактивном режиме? Или я должен посмотреть на установку размера шрифта? Я использовал зум, потому что это было самое простое и быстрое решение, но я бы предпочел найти более постоянное решение. Есть ли недостатки или преимущества использования одного против другого? Я неясен по различиям.

aepound
источник
1
Как насчет ?: (face-remap-add-relative 'default '((:height 300)))взорвать его; и (face-remap-add-relative 'default '((:height 120)))чтобы уменьшить это? Вы можете изменить высоту по своему вкусу. Вы можете превратить их в интерактивные функции и сопоставить их с вашими любимыми сочетаниями клавиш. Чтобы попробовать их, вставьте их в *Scratch*буфер и поместите курсор в конец фрагмента кода и введитеC-x C-e
lawlist
3
Если вы уменьшаете практически каждый используемый буфер, почему бы просто не установить размер шрифта меньше? Посмотрите эту ТАКУЮ ветку именно по этому вопросу .
Дан
@Dan: Если вопрос не в масштабировании, а в том, как установить размер шрифта по умолчанию, то, возможно, его следует закрыть как дубликат вопроса, который вы цитируете. Похоже, что ОП может быть не уверен, что он хочет в этом отношении: установить размер шрифта или масштаб.
Дрю
@Drew: согласился. OP: вы хотите установить размер шрифта или масштаб?
Дан
1
Мой ответ будет таким: в этом случае, смотрите страницу Emacs Wiki, которую я цитировал в своем ответе. Он охватывает все, что касается установки шрифтов и размеров шрифта, как в интерактивном режиме (например, масштабирование), так и в файлах инициализации (настройка значений по умолчанию). Это место для начала (и, вероятно, место для конца).
Дрю

Ответы:

8

Да. Вам нужно увеличить (размер шрифта) фрейма независимо от того, какие буферы там отображаются.

Смотрите библиотеку zoom-frm.el, и эти описания масштабирования кадра и масштабирования буфера .

Смотрите, в частности, команду zoom-in/out, которая делает оба. Это связано , по умолчанию для ключей , обычно связанных только буфер масштабирования: C-x C-+, C-x C--, C-x C-0, и C-x C-=. Вы также можете привязывать команды zoom-inи zoom-outк поворотам колесика мыши. Использование C-uс любой из этих команд переключает между масштабированием кадра и масштабированием буфера.

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

На той же странице Emacs-Wiki есть больше информации о настройке шрифтов и размеров шрифтов.


Обновите после того, как вы решили, что хотите установить размер шрифта по умолчанию

Ответ в последней строке, которую я написал выше: See section Глобальное изменение шрифта по умолчанию на странице Emacs Wiki Set Fonts . Он говорит вам, как установить шрифт по умолчанию. (Также рассказывается, как увеличить размер шрифта в интерактивном режиме.)

Вот эта информация в двух словах - поместите это в ваш файл инициализации:

(add-to-list 'default-frame-alist '(font . FONT ))
(set-face-attribute 'default t :font FONT )

Но прочитайте весь раздел этой страницы, поскольку он расскажет вам больше, в том числе, как установить шрифт по умолчанию с помощью .Xresourcesдемона Emacs. Пример линии подходит для ~/.Xresourcesдля настройки размера шрифта по умолчанию:

Emacs.default.attributeHeight: 94
Нарисовался
источник
Я прочитал в документации, что zoom-frm.elимел возможность сохранять настройки, хотя это немного сбивает с толку. (Я мало что сделал с интерфейсом настройки, предпочитая вместо этого устанавливать параметры в файле инициализации) Я попробую.
aepound
Да, в комментарии к файлу zoom-frm.elрассказывается, как сохранить настройки изменения шрифта, в том числе, как это сделать без использования пользовательского интерфейса настройки. FWIW, я рекомендую людям использовать Customize, но они используют отдельную custom-file(см. Эту переменную) вместо того, чтобы позволить Customize писать код в их файл инициализации.
Дрю
10

Если вы хотите использовать палитру GUI с предварительным просмотром и все, вы можете использоватьM-x menu-set-font

Emacs выбирает шрифт

xandfury
источник
1
Спасибо, это должно быть рекомендуется только ответ, здесь, на вики - странице, на домашней странице Aquamacs!
Агам
Как вы делаете это постоянным?
Smonff
3

Я использую это для масштабирования в Emacs (не только для текущего буфера):

;; http://blog.vivekhaldar.com/post/4809065853/dotemacs-extract-interactively-change-font-size
(defun my/zoom-in ()
  "Increase font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (+ (face-attribute 'default :height)
                         10)))

(defun my/zoom-out ()
  "Decrease font size by 10 points"
  (interactive)
  (set-face-attribute 'default nil
                      :height
                      (- (face-attribute 'default :height)
                         10)))

;; change font size, interactively
(global-set-key (kbd "C->") 'my/zoom-in)
(global-set-key (kbd "C-<") 'my/zoom-out)
rekado
источник