Я также хочу сохранить размер шрифта в моем .emacs
файле.
.emacs.d/init.el
вместо этого, что лучше (чище и лучше контроль версий)
Я также хочу сохранить размер шрифта в моем .emacs
файле.
.emacs.d/init.el
вместо этого, что лучше (чище и лучше контроль версий)
Ответы:
(set-face-attribute 'default nil :height 100)
Значение в 1 / 10pt, поэтому 100 даст вам 10pt и т. Д.
set-face-background set-face-font set-face-inverse-video-p set-face-underline set-face-background-pixmap set-face-foreground set-face-stipple set-face-underline-p
.
set-face-attribute
действительно отсутствует в M-x
( execute-extended-command
), но он присутствует в M-:
( eval-expression
) и C-h f
( describe-function
). M-:
это, вероятно, то, что вы хотите, если вы не хотите поместить это в свой .emacs
файл.
M-x
? Вопрос Noob, я уверен, но я не знаком с тем, как emacs «работает» на низком уровне
M-x
? ». Исследование ответа оказалось образовательным.
От Emacswiki , GNU Emacs 23 имеет встроенную комбинацию клавиш:
C-xC-+и C-xC--увеличить или уменьшить размер текста буфера
Нажмите Shift и первую кнопку мыши. Вы можете изменить размер шрифта следующим образом: этот сайт имеет более подробную информацию.
M-x customize-face RET defaultпозволит вам установить грань 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")))))
У меня есть следующее в моем .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
и т.д.
Откройте emacs в X11, перейдите в меню Options, выберите «установить шрифт по умолчанию ...», измените размер шрифта. Выберите «сохранить параметры» в том же меню. Готово.
zoom.cfg и global-zoom.cfg предоставляют привязки изменения размера шрифта (из EmacsWiki)
Вот вариант интерактивного изменения высоты шрифта, по одному за раз:
;; 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 предоставляет лучшую и наиболее полную информацию. Он различает различные случаи (масштабирование текста, шрифт кадра, буфер / кадр и т. Д.): Изменение размера шрифта .
Если вы довольны консольным 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)
GNU Emacs 24.3.1 (x86_64-pc-linux-gnu, GTK+ Version 3.10.7)
(global-set-key (kbd "<C-mouse-4>") 'text-scale-increase) (global-set-key (kbd "<C-mouse-5>") 'text-scale-decrease)
в моей версии emacs (25)
Вот фрагмент, который позволяет вам напрямую указать глобальный размер шрифта с помощью интерактивной функции:
(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))))))