Mặc dù có thể thực hiện 'chính xác' căn chỉnh trái / phải bằng cách thêm một phương pháp thay thế bởi vì việc đánh giá đầy đủ bên trái và bên phải chỉ để căn chỉnh là hơi nặng nề, khi có một cách thay thế đơn giản hơn.
Nếu bạn biết bạn chỉ cần một khoảng trống cố định ở bên phải, bạn có thể điền vào tất cả trừ N ký tự, điều này hoạt động miễn là kích thước phù hợp là một độ dài cố định.
Định dạng chuỗi %12s
và tương tự có thể được sử dụng để đảm bảo chuỗi không thay đổi kích thước.
(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"
)
)
)
Ví dụ:
CMakeLists.txt [-] 1590, 0, 94%
Lưu ý rằng điều này chỉ hoạt động tốt nếu bạn muốn hiển thị một vài mục ở phía bên tay phải, như với ví dụ này - dòng / cột / phần trăm. Hiển thị tất cả các chế độ nhỏ, ví dụ như sẽ không hoạt động tốt.