mode-line-format をダイエットさす
what
mode-line つーのは、emacs のウィンドウの下部にあるいろ
んな情報を表示している部分です。
ここはとても重要な領域なので、余計な情報は極力排除せねばなりません。
環境によっては表示できる幅がとても限られてくるものです。
part 1
まずは、いきなり mode-line-format を編集します。
これは、emacs の設定のできるだけ最初の方でやっておくことをお勧めします。
べつにそうする必要があるわけじゃないですが、あとで読み込んでいるマクロで
mode-line-format に項目追加をやっている可能性もあるわけで。
たぶん、デフォルトでは mode-line-format はこんなかんじだと思います。
("-"
mode-line-mule-info
mode-line-modified
mode-line-frame-identification
mode-line-buffer-identification
" "
global-mode-string
" %[("
mode-name
mode-line-process
minor-mode-alist
"%n"
")%]--"
(which-func-mode ("" which-func-format "--"))
(line-number-mode "L%l--")
(column-number-mode "C%c--")
(-3 . "%p")
"-%-"
)
ふつうに scratch で mode-line-format を評価するとこんな具合でしょう。
これを眺めていると、途中の空白が無駄だと思いませんか?
見易さというのも重要ですが、そもそも後続の表示が切れる可能性も考慮すると、ここは
余計な記述は削ってしかるべきです。というわけでちょっぴり変更して以下のように書い
てみます。
(setq-default mode-line-format
'("-"
mode-line-mule-info
mode-line-modified
mode-line-frame-identification
mode-line-buffer-identification
" "
global-mode-string
" %[("
mode-name
mode-line-process
minor-mode-alist
"%n" ")%]-"
(which-func-mode ("" which-func-format "-"))
(line-number-mode "L%l-")
(column-number-mode "C%c-")
(-3 . "%p")
"-%-")
)
微妙に変更しているのがおわかりでしょうか。
part 2
これは人によって違うと思いますが、私はフレームを複数起動しません。
emacs 自体を複数起動するのはリソースの無駄でしかないですが、同一プロセスでのフレー
ムも作成しません。こういう人は多いはずです。特に tty で -nw な場合ではフレームも
クソもありゃしません
なので、今どのフレームなのかみたいな情報は無意味になります。
mode-line-frame-identification がそれです。削除してもいいけど、そうすると前後が
くっついてしまうので空白にでもしておくとよいかと思われます。
(setq mode-line-frame-identification " ")
part 3
モードラインには、現在 on になっているマイナーモードを表示することができます。
しかし、モノによってはその表示が長過ぎてよろしくないことがあるのです。
たとえば、abbrev-mode だと Abbrev とか出るのですが、Abb だけありゃ充分じゃないで
すか。3文字も余計なんですよ!!
この貴重なモードラインの領域を 3文字も無駄に消費しているなんて!!(興奮しすぎ)
つーわけで、今のようなことを思った奇特なひとは以下のようにするとよいです。
(setcar (cdr (assq 'abbrev-mode minor-mode-alist)) " Abb")
ほかにも「その表示は無駄ちゃうんか」と思われればがしがし削除しましょう。
地球にやさしく。
役に立たないので戻る