Làm thế nào để căn chỉnh vùng và / hoặc đường thẳng?


10

Chúng tôi có thể trung tâm văn bản với M-x center-regionM-o M-s. Có một cái gì đó tương tự cho liên kết phải?

Ví dụ trước:

Item 0: value                                                       |
Item 100: value                                                     |
Item 30: value                                                      |

sau:

                                                       Item 0: value|
                                                     Item 100: value|
                                                      Item 30: value|
                                                       fill-column  ^

Cách dễ nhất để căn chỉnh văn bản phải không?

Câu trả lời:


13

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-regionchứ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)))))
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.