我正在使用(global-display-line-numbers-mode)
和建议的代码https://unix.stackexchange.com/a/593889/441805
根据缓冲区文本字体比例调整行号列字体比例
(defun post-text-scale-callback ()
;; fix line number text size
(set-face-attribute 'line-number nil
:height (floor (* (face-attribute 'default :height)
(expt text-scale-mode-step text-scale-mode-amount)))))
(add-hook 'text-scale-mode-hook 'post-text-scale-callback)
但这有一个缺点,即行号列字体比例现在在每个缓冲区中都会发生变化。我使用的是 emacs 28.0.50
答案1
text-scale-adjust
查看in的代码face-remap.el
,我相信有一个简单的方法可以做到这一点:
(add-hook 'text-scale-mode-hook (lambda() (face-remap--remap-face 'line-number)))
这基本上对line-number
缓冲区的部分执行相同的操作,text-scale-adjust
对default
和header-line
部分执行相同的操作。
它只会针对当前缓冲区进行调整。