Как установить размер шрифта в Emacs?

Я также хочу сохранить размер шрифта в моем .emacs файл.

17 ответов

Решение
(set-face-attribute 'default nil :height 100)

Значение в 1/10pt, поэтому 100 даст вам 10pt и т. Д.

От Emacswiki, GNU Emacs 23 имеет встроенную комбинацию клавиш:

CxC- + и CxC-- для увеличения или уменьшения размера текста в буфере

Нажмите Shift и первую кнопку мыши. Вы можете изменить размер шрифта следующим образом: этот сайт имеет более подробную информацию.

Mx customize-face RET по умолчанию позволит вам установить лицо default лицо, на котором основаны все остальные лица. Там вы можете установить размер шрифта.

Вот что есть в моем.emacs. на самом деле, color-theme установит основы, а затем моя пользовательская настройка лица отменит некоторые вещи. custom-set-face записывается с помощью механизма emacs customize-face:

;; my colour theme is whateveryouwant :)
(require 'color-theme)
(color-theme-initialize)
(color-theme-whateveryouwant)

(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 98 :width normal :foundry "unknown" :family "DejaVu Sans Mono"))))
 '(font-lock-comment-face ((t (:foreground "darkorange4"))))
 '(font-lock-function-name-face ((t (:foreground "navy"))))
 '(font-lock-keyword-face ((t (:foreground "red4"))))
 '(font-lock-type-face ((t (:foreground "black"))))
 '(linum ((t (:inherit shadow :background "gray95"))))
 '(mode-line ((t (nil nil nil nil :background "grey90" (:line-width -1 :color nil :style released-button) "black" :box nil :width condensed :foundry "unknown" :family "DejaVu Sans Mono")))))

Это еще одно простое решение. Работает также в 24

(set-default-font "Monaco 14")

Короткие пути:

`C-+` increases font size
`C--` Decreases font size

Откройте emacs в X11, зайдите в меню Options, выберите "установить шрифт по умолчанию...", измените размер шрифта. Выберите "сохранить параметры" в том же меню. Готово.

У меня есть следующее в моем .emacs:

(defun fontify-frame (frame)
  (set-frame-parameter frame 'font "Monospace-11"))

;; Fontify current frame
(fontify-frame nil)
;; Fontify any future frames
(push 'fontify-frame after-make-frame-functions) 

Вы можете заменить любой шрифт по вашему выбору для "Monospace-11", Набор доступных опций сильно зависит от системы. С помощью M-x set-default-font и просмотр вкладок дополнений даст вам некоторые идеи. В моей системе с включенным Emacs 23 и сглаживанием можно выбирать системные шрифты по имени, например: Monospace, Sans Serif, так далее.

zoom.cfg и global-zoom.cfg предоставляют привязки изменения размера шрифта (из EmacsWiki)

  • C- или C-mousewheel-up: увеличивает размер шрифта.
  • C- + или C-mousewheel-down: уменьшает размер шрифта.
  • C-0 возвращает размер шрифта к значению по умолчанию.

Вот вариант интерактивного изменения высоты шрифта, по одному за раз:

;; font sizes
(global-set-key (kbd "s-=")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (+ old-face-attribute 10)))))

(global-set-key (kbd "s--")
                (lambda ()
                  (interactive)
                  (let ((old-face-attribute (face-attribute 'default :height)))
                    (set-face-attribute 'default nil :height (- old-face-attribute 10)))))

Это предпочтительно, когда вы хотите изменить размер текста во всех буферах. Я не люблю решения, использующие text-scale-increase а также text-scale-decrease так как номера строк в водосточном желобе могут быть впоследствии отрезаны.

Firefox и другие программы позволяют увеличивать и уменьшать размер шрифта с помощью C-+ и C--. Я настроил свой.emacs так, чтобы у меня была такая же возможность, добавив следующие строки кода:

(global-set-key [C-kp-add] 'text-scale-increase)

(global-set-key [C-kp-subtract] 'text-scale-decrease)

Aquamacs:

(set-face-attribute 'default nil :font "Monaco-16" )

В Emacs Wiki глобально измените шрифт по умолчанию, он говорит, что вы можете использовать любой из этих:

(set-face-attribute 'default nil :font FONT )

(set-frame-font FONT nil t)

куда FONT это что-то вроде "Monaco-16"Например:

(set-face-attribute 'default nil :font "Monaco-16" )

В первом предложении на вики была добавлена ​​дополнительная закрывающая скобка, которая вызвала ошибку при запуске. Я наконец заметил дополнительные закрывающие скобки и впоследствии исправил предложение в вики. Тогда оба предложения работали для меня.

Все зависит от того, что вы подразумеваете под изменением размера шрифта. Этот раздел EmacsWiki предоставляет лучшую и наиболее полную информацию. Он различает различные случаи (масштабирование текста, шрифт кадра, буфер / кадр и т. Д.): Изменение размера шрифта.

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

(defun set-font-size ()
    "Set the font size."
  (interactive)
  (set-face-attribute
   'default nil :height
   (string-to-number
    (read-string "Font size: " (number-to-string (face-attribute 'default :height nil))))))

В AquaMacs CMD + а также CMD - настроить размер шрифта для текущего буфера.

В NTEmacs 23.1 в меню "Параметры" есть опция "Установить шрифт по умолчанию...".

Если вы довольны консольным emacs (emacs -nw), современные реализации vterm (например, gnome-терминал), как правило, имеют лучшую поддержку шрифтов. Кроме того, если вы привыкнете к этому, вы сможете использовать tmux, и, таким образом, станет возможной работа с вашей полной средой на удаленных серверах, даже без X.

Я использую пакет Hydra для управления непрерывным увеличением / уменьшением шрифта, нажав f2 + + + +/f2 - - - -, что означает, что пресса f2 один раз, а затем с помощью +/- только для контроля и восстановления размера шрифта по умолчанию f2 0, Потому что у меня есть клавиатура, поэтому я также привязываю клавиатуру к настройке шрифта.

(defhydra hydra-zoom (global-map "<f2>")
  "zoom"
  ("<kp-add>" text-scale-increase "in")
  ("+" text-scale-increase "in")
  ("-" text-scale-decrease "out")
  ("<kp-subtract>" text-scale-decrease "out")
  ("0" (text-scale-set 0) "reset")
  ("<kp-0>" (text-scale-set 0) "reset"))

И современный редактор функций управления мышью, поддерживаемый нижними привязками клавиш, нажмите control + колесико мыши, чтобы увеличить / уменьшить шрифт.

(global-set-key (kbd "<C-wheel-up>") 'text-scale-increase)
(global-set-key (kbd "<C-wheel-down>") 'text-scale-decrease)
Другие вопросы по тегам