[Emacs] linum.el で左側に行番号を表示する
ついでにもうひとつ.
今まで,Mode Line に表示する,line-number-mode で十分だったからそのままにしてたけど,そろそろ横に表示してもいいかと思って探してみた.
他所様の作ったものを使うしかない模様。Webを漁ってみると、どうも有名どころとして3つあるみたい。
* wb-line-number.el
selflearn @ ウィキ - 秀丸からEmacsへ移行する
* setnu.el(&setnu+.el)
* linum.el
ということですが,
そこでsetnu.elを調べてみると、これは・古い、・バグが多い、・修正版として用意されたsetnu+.elがリンク切れ、というように全然使えなかったのでパス。
selflearn @ ウィキ - 秀丸からEmacsへ移行する
結局、最後のlinumが一番シンプルで良かったのでこれを使うことにした。使い方はsetnu.elとほぼ同じ。
とのことなので,自分も Linum を使うことにした.
でも,素の状態だと気に食わないかったので少し表示を変えてみました.
最低幅を確保した上で,常に右寄せで行番号を表示させてます.(min-w 4)
の 4 を変えれば最低幅が変わります.
以下がその設定です.
lisp があまりわからないので汚いです^^; だれかきれいにしてください(>_<)
(require 'linum) (setq linum-format '(lambda (line) (let ((fmt (let ((min-w 4) (w (length (number-to-string (count-lines (point-min) (point-max)))))) (concat "%" (number-to-string (if (< min-w w) w min-w)) "d")))) (propertize (format fmt line) 'face 'linum)))) (global-linum-mode)