我还想在.emacs文件中保存字体大小。


当前回答

我使用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"))

而现代编辑器的鼠标控制功能由以下键绑定支持,按下控制键+鼠标滚轮可增加/减少字体。

(global-set-key (kbd "<C-wheel-up>") 'text-scale-increase)
(global-set-key (kbd "<C-wheel-down>") 'text-scale-decrease)

其他回答

按Shift和第一个鼠标按钮。您可以通过以下方式更改字体大小:此网站有更多详细信息。

M-x自定义脸RET默认将允许您设置脸的默认脸,所有其他脸的基础上。在这里你可以设置字体大小。

这是我的。emacs中的内容。实际上,color-theme会设置基础,然后我的自定义面部设置会覆盖一些东西。定制的set-faces是由emacs的定制面机制编写的:

;; 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")))))

这完全取决于你所说的改变字体大小。 EmacsWiki部分提供了最好和最完整的信息。它区分了各种情况(文本缩放,框架字体,缓冲区/框架等):改变字体大小。

如果你喜欢控制台emacs (emacs -nw),现代vterm实现(如gnome-terminal)往往有更好的字体支持。另外,如果您习惯了这一点,就可以使用tmux,这样即使没有X,也可以在远程服务器上使用完整的环境。

我有以下在我的。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等。