我在我的Emacs中用linum-mode得到了這個圖形錯誤。我嘗試從23升級到24(通過git),我已經嘗試了各種提供的二進制文件和我的家庭編譯版本。我真正感興趣的是從哪裏開始診斷問題。在OS X上,使用linum-mode在emacs中導致此圖形錯誤的原因是什麼?
的問題消失,如果我滾動撕裂行號關閉屏幕和回。
我在我的Emacs中用linum-mode得到了這個圖形錯誤。我嘗試從23升級到24(通過git),我已經嘗試了各種提供的二進制文件和我的家庭編譯版本。我真正感興趣的是從哪裏開始診斷問題。在OS X上,使用linum-mode在emacs中導致此圖形錯誤的原因是什麼?
的問題消失,如果我滾動撕裂行號關閉屏幕和回。
我經歷過同樣的問題,並花了相當長的一段時間,試圖解決它。圖形錯誤是linum模式和邊緣渲染方式之間的衝突的結果。不幸的是,我無法在linum.el中解決這個問題,並且附帶顯示代碼是C源代碼的一部分。
它仍然可以做!解決這個問題的最簡單方法就是關閉邊緣。
M-x fringe-mode RET none RET
爲了使邊緣永久保持關閉,我建議用M-x customize-group RET fringe
自定義設置,因爲Emacs的爲Mac OS X一些編譯的版本有自己的邊緣設置,可以覆蓋你的.emacs文件的組成部分。
我真的不需要那些換行指標,所以沒有邊緣不會打擾我。但是,我確實錯過了行號和緩衝區文本之間的輕微分隔。我遵循Emacs Wiki上的一篇文章的建議來恢復間距。在亞麻的0.9x版本,從
(setq width (max width (length str)))
到
(setq width (max width (+ (length str) 1)))
的靈感這種變化線160變化是在這裏:http://www.emacswiki.org/emacs/LineNumbers
有在源鏈接來設置linum-format
參數變量而不是修改linum.el。雖然我明白他們來自哪裏,但現在大多數顏色主題都會爲額外的空間着色,而不是提供我正在尋找的東西(關於作爲背景色的空間的分離)。如果你要編輯linum.el,請確保運行
M-x emacs-lisp-byte-compile-and-load
使更改持久化。您可以通過查看圖片中光標前的空格來查看結果:http://i.stack.imgur.com/TxyMr.png(我沒有足夠的信譽來嵌入圖片)。
沒有更多的圖形工件!
這就是我如何在我的.emacs
中設置的,我沒有這個問題,雖然我也沒有使用帶有gtk或任何其他gui的emacs。
(亞麻模式+1)
(setq亞麻格式 「%d」)
你可能想劈周圍(setq linum-format)
,看看你是否能取得好成績。另外不要忘記瀏覽emacswiki on linum。
我有同樣的問題,我想出了一個解決方案,雖然它不是最漂亮的,由於在行號左邊有一個額外的空間,它比改變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 ")
這消除邊緣覆蓋問題,並沒有足以抵消行號以外的任何其他影響。
使行號與緩衝文本之間的分離,跟隨變化會更好:
在亞麻的0.9x版本,變更線150從
(CONCAT「%」(數-to-串w)的 「d」)))))
到
(CONCAT 「%」(數到字符串w)的 「d」)))))
本作分離了與行號相同的背景顏色「。
問題仍然出現在emacs 24.4,OS X 10.10.1上。 的解決方案,我摸索出: 加載您所選擇的主題後:
(load-theme 'whatever)
(set-face-attribute 'fringe nil :background (face-background 'default))
編輯原始代碼是不是一個好主意,但。我建議採用以下答案的代碼,並對其進行更改:http://stackoverflow.com/a/11496199/324105 – phils 2012-07-17 03:30:00