Sol ve sağ hizalamayı sadece hizalama için tam olarak değerlendirmek daha basit bir alternatif olduğunda biraz ağır olduğundan, alternatif bir yöntem ekleyerek sol / sağ hizalamayı 'düzeltmek' mümkün olsa da.
Yalnızca sağda sabit bir alana ihtiyacınız olduğunu biliyorsanız, N karakterleri hariç tümünü doldurabilirsiniz , bu doğru boyut sabit bir uzunluk olduğu sürece çalışır.
Dizenin %12s
yeniden boyutlandırılmamasını sağlamak için dize biçimlendirmesi ve benzeri kullanılabilir.
(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"
)
)
)
Örneğin:
CMakeLists.txt [-] 1590, 0, 94%
Bunun yalnızca bu örnekte olduğu gibi sağ tarafta birkaç öğe görüntülemek istiyorsanız iyi çalıştığını unutmayın - satır / sütun / yüzde. Örneğin tüm küçük modları göstermek işe yaramaz.