我在我的Emacs中使用linum-mode得到了这个图形错误.我尝试从23升级到24(通过git),我已尝试使用各种提供的二进制文件在线和我的家庭编译版本.我真正感兴趣的是从哪里开始诊断问题.

如果我将屏幕上的撕裂线数字滚动并重新进入,问题就会消失.
小智 11
我遇到了同样的问题,花了很多时间试图解决它.图形错误是linum-mode与渲染边缘之间冲突的结果.不幸的是,我无法解决linum.el中的问题,并且条纹显示代码是C源代码的一部分.
它仍然可以完成!解决问题的最简单方法是关闭边缘.
M-x fringe-mode RET none RET
Run Code Online (Sandbox Code Playgroud)
为了使边缘永久保持关闭,我建议自定义设置,M-x customize-group RET fringe因为一些编译版本的Emacs for Mac OS X有自己的边缘设置,可以覆盖.emacs文件的部分.
我真的不需要那些换行指示器,所以没有条纹不会打扰我.但是,我确实错过了行号和缓冲区文本之间的轻微分离.我按照Emacs Wiki上的一篇文章的建议来恢复这个间距.在linum的0.9x版本中,更改第160行
(setq width (max width (length str)))
Run Code Online (Sandbox Code Playgroud)
至
(setq width (max width (+ (length str) 1)))
Run Code Online (Sandbox Code Playgroud)
这一变化的灵感来自:http://www.emacswiki.org/emacs/LineNumbers
源链接上有参数来设置linum-format变量而不是修改linum.el.虽然我了解它们的来源,但是现在大多数颜色主题都会为额外的空间着色,而不是提供我正在寻找的东西(大约是一个背景颜色的空间).如果你编辑linum.el,请确保运行
M-x emacs-lisp-byte-compile-and-load
Run Code Online (Sandbox Code Playgroud)
使更改持久化.您可以通过查看此处的图片中光标前的空格来查看结果:http://i.stack.imgur.com/TxyMr.png(我没有足够的声誉来嵌入图像).
没有更多的图形工件!
我有同样的问题,我想出了一个解决方案,虽然它不是最漂亮的,由于行号左边有一个额外的空间,它比改变linum.el更优雅.这是〜/ .emacs的相关部分:
;; Linum mode
(global-linum-mode t)
;; Offset the number by two spaces to work around some weird fringe glitch
(setq linum-format " %d ")
Run Code Online (Sandbox Code Playgroud)
这消除了边缘覆盖问题,除了抵消行号之外没有任何其他影响.
| 归档时间: |
|
| 查看次数: |
2839 次 |
| 最近记录: |