リージョン内の行数をモードラインに表示する

murakan.cocolog-nifty.com

こちらを参考にいたしました。

ただし、emacs26 からは default-* 変数がみんな廃止されたようでエラーになってしまいます。
いろいろ試行錯誤を 1 時間強してなんとかできました。elisp は難しくてよくわかりませんw

;; リージョン内の選択行数/文字数をモードラインに表示
(defun count-lines-and-chars ()
  (if mark-active
      (format "(%dL,%dC)"
              (count-lines (region-beginning) (region-end))
              (- (region-end) (region-beginning)))
    ""))

(setq-default mode-line-format
  (add-to-list 'mode-line-format
               '(:eval (count-lines-and-chars))))

こんな感じにリージョン内の行数と文字数をモードラインに表示してくれます。
便利です!!

f:id:umeaji:20181129204411p:plain