解決策 # 1 -- http://www.emacswiki.org/LineNumbers (Michael Hoffman を引用) から - 別の理由でそこに投稿されましたが、私の問題も解決します:
(eval-after-load 'linum
'(progn
(defface linum-leading-zero
`((t :inherit 'linum
:foreground ,(face-attribute 'linum :background nil t)))
"Face for displaying leading zeroes for line numbers in display margin."
:group 'linum)
(defun linum-format-func (line)
(let ((w (length
(number-to-string (count-lines (point-min) (point-max))))))
(concat
(propertize (make-string (- w (length (number-to-string line))) ?0)
'face 'linum-leading-zero)
(propertize (number-to-string line) 'face 'linum))))
(setq linum-format 'linum-format-func)))
解決策 2:
(setq linum-format "%d")
参考までに:
さまざまな空白の配色 (および/または現在の行を強調表示) が行番号付けのために予約されている左側のマージンに侵入する関連の問題を解決する方法を知りたい人は、その領域の背景色を設定すると問題が修正されます。行番号の前景および/または背景は、ユーザーが定義できます。上記のソリューション番号 1 は、5 行目の単語の後に色の定義を追加することによっても変更できます。foreground
たとえば、:foreground "red", ...
次のスニペットは、ソリューション番号 1 で述べた回避策全体の前または後にある別の行であり、任意の色で変更されます。ユーザーが望む:
(custom-set-faces '(linum ((t (:foreground "red" :background "white" :height 120 :family "Courier")))) )
0
参考 # B:先頭のゼロを見るのに慣れておらず、このスレッドで説明されている最初の問題の解決策を探していたので、ソリューション番号 1 の 13 行目を削除して通常の古いスペースに置き換えました。ソリューション番号 2 はフラッシュ左に表示され、ソリューション番号 1 はフラッシュ右に表示されます。個人的な好みの問題です。linum-format
を 内で定義された動的デフォルト以外に変更する可能性は他にもいくつかあることは間違いありませんlinum.el
。