我也想将字体大小保存在我的.emacs文件中。

评论

另请参阅:stackoverflow.com/questions/2091881/…

这是最适合我的答案stackoverflow.com/a/6050987/215094

新手,请改用.emacs.d / init.el更好(更干净,更好的版本控制)

#1 楼

 (set-face-attribute 'default nil :height 100)
 


该值在1 / 10pt中,所以100会给你10pt,以此类推。

评论


我正在尝试执行此操作,但是在Emacs 23.1.1中,自动完成功能只会显示以下选项:set-face-background set-face-font set-face-inverse-video-p set-face-underline set-face -background-pixmap设置脸前景设置点点画设置脸下划线p。

–汤姆·布里托(Tom Brito)
2013年1月24日12:38



@TomBrito哪个自动完成功能?在我的Emacs中,M-x(执行扩展命令)确实缺少set-face-attribute,但它存在于M-:( eval表达式)和C-hf(描述功能)中。 M-:可能是您想要的,如果您不想将其放入.emacs文件中。

–罗里·奥凯恩
2013年5月9日14:20



@ RoryO'Kane为什么某些命令无法通过M-x使用? Noob问题,我确定,但是我不熟悉emacs在低层的工作方式

– DavidS
15年3月6日在20:53

@DavidS好问题。我在“为什么某些Emacs功能不能通过M-x使用?”上写了一个答案。研究答案的确具有教育意义。

–罗里·奥凯恩
15年3月22日在21:05

不过,当您自定义一些面孔(例如,以具有独特的字体,倾斜度等。它们将保留旧的大小,并且您必须分别进行设置。

– Hi-Angel
19年1月28日在8:22

#2 楼

在Emacswiki中,GNU Emacs 23具有内置的组合键:


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


评论


或“ C-x C- =”和“ C-x C--”

–朱洪波
2012年3月19日15:37



这对于该特定缓冲区是本地的。因此,当您切换到要编辑的其他文件时,它们将看不到此更改的效果。同样,当您关闭并重新打开缓冲区(甚至重新启动Emacs)时,它们将使用旧的默认大小。这可能就是您想要的;我只是说这是为了完整性。

–ShreevatsaR
2012年5月22日下午4:43

OP希望将配置保存在.emacs中,而事实并非如此。

– xwl
15年5月5日在16:42

在spacemacs UI中工作(在macOS中),可在init.el中进行设置-stackoverflow.com/a/296316/432903

– prayagupd
18-10-1在5:26



#3 楼

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

评论


@AndrewLarned要使更改永久生效,请在.emacs文件中进行更改。 (有关克里斯·康威的.emacs文件中的内容的示例,请参见Chris Conway的答案。)

– Ram Narasimhan
2012年5月24日,3:16

在执行此操作时,有什么方法可以控制它增加或减少多少字体?

– Mauricio A. Cinelli
13年11月13日在12:35

#4 楼

M-x customize-face RET默认设置为允许您设置所有其他面都基于的面default面。您可以在其中设置字体大小。

这是我的.emacs中的内容。实际上,颜色主题将设置基础知识,然后我的自定义面部设置将覆盖某些内容。自定义界面由emacs的custom-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用户倾向于不使用自定义系统,因为它容易出错,并且会混杂所有自定义项。最好将您的自定义分解为单独的.el文件,然后从init.el加载它们,然后将模式自定义添加为每个自定义代码中的elisp代码。请参阅上面的huaiyuan的答案,以了解如何通过elisp设置字体。

–爱德华·加森
2013年6月19日在2:28



FWIW,emacs维护者(大概是emacs的“高级”用户)使用定制系统:github.com/jwiegley/dot-emacs/blob/…

–本
18年3月13日在17:02

#5 楼

这是另一个简单的解决方案。同样适用于24个版本

(set-default-font "Monaco 14")


快捷键:

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


#6 楼

我的.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和抗锯齿功能的系统上,可以按名称选择系统字体,例如MonospaceSans Serif等。

#7 楼

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

评论


如果重新启动emacs,更改将不会保留。

–浸
19年2月7日,在2:28

#8 楼

zoom.cfg和global-zoom.cfg提供字体大小更改绑定(来自EmacsWiki)


C--或C-mousewheel-up:增加字体大小。
C- +或C-mousewheel-down:减小字体大小。
C-0将字体大小恢复为默认值。


#9 楼

这是一个用于交互式调整字体高度的选项,一次调整一个点:

;; 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-increasetext-scale-decrease的解决方案,因为装订线中的行号之后可能会被切断。

评论


太棒了!非常感谢。

– Fomentia
16-3-28在19:51

#10 楼

Firefox和其他程序允许您使用C- +和C--增大和减小字体大小。我设置了.emacs,以便通过添加以下代码行来具有相同的功能:

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

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


#11 楼

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


Wiki上的第一个建议中有一个额外的右括号,这导致了错误。启动。我终于注意到了多余的右括号,随后我更正了Wiki上的建议。然后这两个建议对我都有效。

#12 楼

更改字体大小完全取决于您的意思。
此EmacsWiki部分提供了最佳,最完整的信息。它区分各种情况(文本缩放,框架字体,缓冲区/框架等):更改字体大小。

#13 楼

在AquaMacs中,CMD +CMD -调整当前缓冲区的字体大小。

#14 楼

在NTEmacs 23.1中,“选项”菜单具有“设置默认字体...”选项。

#15 楼

我对控制台emacs(emacs -nw)感到满意,现代vterm实现(例如gnome-terminal)往往具有更好的字体支持。另外,如果您习惯了这一点,则可以使用tmux,因此即使没有X,也可以在远程服务器上使用完整环境。

#16 楼

我使用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 +版本3.10.7)

–塞尔菲·卡尔斯塔尔(Zelphir Kaltstahl)
2015年11月13日17:45



这些将是(global-set-key(kbd“ ”)'text-scale-increase()(global-set-key(kbd“ ”)'text-scale-increase -减小)在我的emacs版本中(25)

–stefano
17 Mar 9 '17 at 22:07



#17 楼

这是一个片段,使您可以使用交互式功能直接指定全局字体大小:

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