我已经设置了emacs显示行号(global-linum-mode 1)
,它一直有效,直到我开始通过放大文本text-scale-adjust
行号列开始缩小,并在几次增量后完全消失。
当它完全消失时,进一步的增量对左边缘不再有影响。
这是一个已知问题吗?有解决方法吗?
在 Ubuntu 10.04 中使用 GNU Emacs 23.1.1。
答案1
这是一个解决方法。它适用于我的emacs
23.1.1。同样的问题再次出现(几个月后),我学到了一个少量大约elisp
在同一时间,所以我尝试了一下。请参阅以下链接以获取我的答案。 linum 模式下 Emacs 的字体大小问题。
答案2
我见过的最简单、最直接的解决方案就是将行号设置为固定高度。这可以很容易地完成,根据用户78810的回答:linum 模式下 Emacs 的字体大小问题
也就是说,将以下行添加到您的 emacs 配置中(或者添加到您的dotspacemacs/user-config
函数中,如果您要排除邪恶的风格):
(eval-after-load "linum"
'(set-face-attribute 'linum nil :height 100))
答案3
这是我的解决方案。可能想改变以前line-number
的面容。display-line-numbers-mode
linum
(defun post-text-scale-callback ()
;; fix line number text size
(let ((new-size (floor (* (face-attribute 'default :height)
(expt text-scale-mode-step text-scale-mode-amount)))))
(set-face-attribute 'line-number nil :height new-size)
(set-face-attribute 'line-number-current-line nil :height new-size)))
(add-hook 'text-scale-mode-hook 'post-text-scale-callback)