我还想在.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)

其他回答

在X11中打开emacs,进入菜单选项,选择“设置默认字体…”,更改字体大小。在同一菜单中选择“保存选项”。完成了。

如果你喜欢控制台emacs (emacs -nw),现代vterm实现(如gnome-terminal)往往有更好的字体支持。另外,如果您习惯了这一点,就可以使用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"))

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

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

从Emacswiki, GNU Emacs 23有一个内置的键组合:

C-xC-+和C-xC-增加或 减小缓冲区文本大小

这里有一个交互调整字体高度的选项,一次一点:

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

当您想要调整所有缓冲区中的文本大小时,这是可取的。我不喜欢使用文本比例增加和文本比例减少的解决方案,因为排水沟中的行号之后会被切断。