영역 및 / 또는 선을 올바르게 정렬하는 방법은 무엇입니까?


10

우리는 텍스트를 중심으로 수 M-x center-regionM-o M-s. 오른쪽 정렬과 비슷한 것이 있습니까?

전의 예 :

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

후:

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

텍스트를 오른쪽 정렬하는 가장 쉬운 방법은 무엇입니까?

답변:


13

Filling수동 노드에 따르면 일부 채우기 기능은 사용할 수있는 선택적 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))))

오른쪽 정렬을 할 때 채우지 않으려면 다음 기능을 사용하면 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)))))
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.