Sementara itu mungkin untuk melakukan perataan kiri / kanan yang benar 'menambahkan metode alternatif karena sepenuhnya mengevaluasi kiri dan kanan hanya untuk perataan sedikit berat, ketika ada alternatif yang lebih sederhana.
Jika Anda tahu Anda hanya membutuhkan jumlah ruang yang tetap di sebelah kanan, Anda dapat mengisi semua kecuali N karakter, ini berfungsi selama ukuran yang tepat adalah panjang yang tetap.
Pemformatan string %12s
dan sejenisnya dapat digunakan untuk memastikan string tidak mengubah ukuran.
(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"
)
)
)
Misalnya:
CMakeLists.txt [-] 1590, 0, 94%
Perhatikan bahwa ini hanya berfungsi dengan baik jika Anda ingin menampilkan beberapa item di sisi kanan, seperti contoh ini - baris / kolom / persentase. Menampilkan semua mode minor untuk mis. Tidak akan berfungsi dengan baik.