在emacs中使用linum-mode时,当增加字体时M-x text-scale-increase
,有一件事困扰着我.字体为行号有相同尺寸的阅读和不适合进入left-margin
的缓冲区的左侧!
1
普通字体大小,好的
2
增加字体大小,不再可读FUUUUU
What I'd really like to have:
当增加/减少字体时,我希望其中一个工作
然后不要改变左边距的字体,而是增加/减少行号之间的间距
有人有什么建议吗?多谢你们
我见过的最简单,最直接的解决方案是将行号设置为固定高度.根据user78810的回答,这很容易实现:https://unix.stackexchange.com/questions/29786/font-size-issues-with-emacs-in-linum-mode/146781#146781
dotspacemacs/user-config
也就是说,在emacs配置中添加以下行(如果您使用的是spacemacs,则添加到您的函数中):
(eval-after-load "linum"
'(set-face-attribute 'linum nil :height 100))
Run Code Online (Sandbox Code Playgroud)
小智 5
我想我可以使用以下代码修复该问题:
(require 'linum)
(defun linum-update-window-scale-fix (win)
"fix linum for scaled text"
(set-window-margins win
(ceiling (* (if (boundp 'text-scale-mode-step)
(expt text-scale-mode-step
text-scale-mode-amount) 1)
(if (car (window-margins))
(car (window-margins)) 1)
))))
(advice-add #'linum-update-window :after #'linum-update-window-scale-fix)
Run Code Online (Sandbox Code Playgroud)
它似乎工作,至少24.5.