単純な代替案がある場合、整列のためだけに左と右を完全に評価することは少し重いので、「正しい」左/右整列を実行して別の方法を追加することは可能ですが。
右側に一定量のスペースしか必要ないことがわかっている場合は、N文字を除くすべてを入力できます。これは、適切なサイズが固定長である限り機能します。
文字列のフォーマット%12sなどを使用して、文字列のサイズが変更されないようにすることができます。
(defun mode-line-fill (face reserve)
"Return empty space using FACE and leaving RESERVE space on the right."
(when
(and window-system (eq 'right (get-scroll-bar-mode)))
(setq reserve (- reserve 3)))
(propertize " "
'display
`((space :align-to (- (+ right right-fringe right-margin) ,reserve)))
'face face
)
)
(setq-default
mode-line-format
(list
;; left align
"%e %b [%*]"
;; right align
(mode-line-fill 'mode-line 18)
"%6l, %4c, %8p"
)
)
)
例えば:
CMakeLists.txt [-] 1590, 0, 94%
これは、この例のように、行/列/パーセントのように、右側にいくつかの項目を表示する場合にのみ機能することに注意してください。たとえば、すべてのマイナーモードを表示すると、うまく機能しません。