ตามโหนดคู่มือบนการเติมฟังก์ชันการเติมจำนวนมากใช้อาร์กิวเมนต์ JUSTIFY ซึ่งเป็นทางเลือกที่คุณสามารถใช้ได้ (fill-paragraph 'right)
ดังนั้นสำหรับตัวอย่างเพื่อเติมวรรคด้วยเหตุผลขวาคุณสามารถใช้
คุณยังสามารถใช้(justify-current-line 'right)
สำหรับบรรทัดเดียว
หากคุณวางแผนที่จะใช้ตัวเลือกเหล่านี้เป็นจำนวนมากคุณสามารถรวมมันไว้ในฟังก์ชั่นเช่นต่อไปนี้แล้วผูกฟังก์ชั่นเหล่านี้เข้ากับปุ่มที่คุณเลือก:
(defun right-justify-current-line ()
"Right-justify this line."
(interactive)
(justify-current-line 'right))
(defun right-fill-paragraph ()
"Fill paragraph with right justification."
(interactive)
(fill-paragraph 'right))
นี่คือฟังก์ชั่นที่คุณอาจใช้แทนfill-paragraph
ได้ ด้วยคำนำหน้าต่างๆช่วยให้คุณตัดสินใจได้ว่าจะใช้เหตุผลใดในย่อหน้าที่คุณกรอก:
(defun fill-paragraph-dwim (&optional arg)
"Fills the paragraph as normal with no prefix. With C-u,
right-justify. With C-u C-u, center-justify. With C-u C-u C-u,
full-justify."
(interactive "p")
(fill-paragraph (cond ((= arg 4) 'right)
((= arg 16) 'center)
((= arg 64) 'full))))
หากคุณไม่ต้องการเติมเมื่อคุณจัดตำแหน่งขวาคุณสามารถใช้ฟังก์ชันต่อไปนี้ซึ่งถูก cribbed โดยตรงจากcenter-region
ฟังก์ชันด้วยการเปลี่ยนบรรทัดเดียวเพื่อให้จัดแนวขวาแทน:
(defun right-region (from to)
"Right-justify each nonblank line starting in the region."
(interactive "r")
(if (> from to)
(let ((tem to))
(setq to from from tem)))
(save-excursion
(save-restriction
(narrow-to-region from to)
(goto-char from)
(while (not (eobp))
(or (save-excursion (skip-chars-forward " \t") (eolp))
;; (center-line)) ; this was the original code
(justify-current-line 'right)) ; this is the new code
(forward-line 1)))))