ในขณะที่เป็นไปได้ที่จะทำการจัดตำแหน่ง 'ถูกต้อง' ซ้าย / ขวาเพิ่มวิธีอื่นเนื่องจากการประเมินซ้ายและขวาเพียงแค่สำหรับการจัดตำแหน่งนั้นค่อนข้างหนักเมื่อมีทางเลือกที่ง่ายกว่า
หากคุณรู้ว่าคุณต้องการพื้นที่ด้านขวาในปริมาณที่ จำกัด คุณสามารถกรอกได้ทั้งหมดยกเว้นอักขระ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%
โปรดทราบว่าวิธีนี้ใช้งานได้ดีถ้าคุณต้องการแสดงรายการบางรายการทางด้านขวามือเช่นเดียวกับตัวอย่างนี้ - บรรทัด / คอลัมน์ / เปอร์เซ็นต์ แสดงโหมดย่อยทั้งหมดเช่นทำงานได้ไม่ดี