Theo nút thủ công trên Filling , một số hàm điền có một đối số JUSTIFY tùy chọn mà bạn có thể sử dụng. Vì vậy, ví dụ, để điền vào một đoạn văn với sự biện minh đúng đắn, bạn có thể sử dụng (fill-paragraph 'right)
.
Bạn cũng có thể sử dụng (justify-current-line 'right)
cho một dòng duy nhất.
Nếu bạn dự định sử dụng các tùy chọn này rất nhiều, bạn có thể bọc chúng trong các chức năng, chẳng hạn như sau, và sau đó liên kết các chức năng này với các phím bạn chọn:
(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))
Đây là một chức năng bạn có thể đưa vào để thay thế fill-paragraph
. Với các tiền tố khác nhau, nó cho phép bạn quyết định loại biện minh nào sẽ được sử dụng cho đoạn bạn đang điền:
(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))))
Nếu bạn không muốn điền khi bạn căn chỉnh đúng, bạn có thể sử dụng chức năng sau, được đặt trực tiếp từ center-region
chức năng với thay đổi một dòng để thay vào đó là căn chỉnh đúng:
(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)))))