조직 테이블에서 오른쪽 정렬 열의 시작을 자릅니다.


10

긴 파일 이름을 포함하는 org-mode 테이블에 열이 있습니다. 파일 이름의 흥미로운 부분은 첫 번째 문자가 아닌 마지막 몇 문자입니다. 예를 들어 아래 파일이 주어진 경우 :

/data/capture/abcd_spectrum_01292000.dat
/data/capture/abcd_spectrum_02251435.dat
/data/capture/abcd_spectrum_02251847.dat
/data/capture/abcd_spectrum_02251848.dat
/data/capture/abcd_spectrum_02251848.dat
/data/capture/abcd_spectrum_02251849.dat
/data/capture/abcd_spectrum_02251851.dat
/data/capture/abcd_spectrum_02251852.dat
/data/capture/abcd_spectrum_02251852.dat
/data/capture/abcd_spectrum_02270910.dat

내 조직 테이블이 다음과 같이 보이기를 원합니다.

|            File | TD | FD | MF | Notes:               |
|-----------------+----+----+----+----------------------|
|           <r15> |    |    |    | <l20>                |
| <=_01292000.dat |    |    |    |                      |
| <=_02251435.dat |    |    |    |                      |
| <=_02251847.dat |    |    |    |                      |
| <=_02251848.dat |    |    |    |                      |
| <=_02251848.dat |    |    |    |                      |
| <=_02251849.dat |    |    |    |                      |
| <=_02251851.dat |    |    |    |                      |
| <=_02251852.dat |    |    |    |                      |
| <=_02251852.dat |    |    |    |                      |
| <=_02270910.dat |    |    |    |                      |

그러나 대신 다음과 같이 보입니다.

|            File | TD | FD | MF | Notes:               |
|-----------------+----+----+----+----------------------|
|           <r15> |    |    |    | <l20>                |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |
| /data/capture=> |    |    |    |                      |

항목의 가장 오른쪽 부분을 볼 수 있도록 오른쪽 정렬 열을 왼쪽으로자를 수 있습니까?

답변:


8

내가 아는 한, 테이블 열 잘라 내기 사용자 정의를위한 기본 지원 기능은 없습니다. 그러나 org-table-align원하는 것을 달성하기 위해 명령 을 수정할 수 있습니다 .

  1. 파일을 찾으십시오 org-table.el. org-mode설치 디렉토리에 있습니다 . 가장 빠른 방법은 M-x find-library RET org-table RET입니다.

  2. 의 정의를 복사 org-table-align하여에 .emacs파일.

  3. 바꾸다

    (add-text-properties f1 (length xx) (list 'org-cwidth t) xx)
    (add-text-properties (- f1 2) f1
                   (list 'display org-narrow-column-arrow)
                   xx)))))

    (let (s1 e1 s2 e2 arrow-string)
      (if (and falign1 (equal (downcase falign1) "r"))
          (setq s1 0
                e1 (- (length xx) f1)
                s2 (- (length xx) f1)
                e2 (- (length xx) (- f1 2))
                arrow-string "<=")
        (setq s1 f1
              e1 (length xx)
              s2 (- f1 2)
              e2 f1
              arrow-string org-narrow-column-arrow))
      (add-text-properties s1 e1 (list 'org-cwidth t) xx)
      (add-text-properties s2 e2 (list 'display arrow-string) xx))))))

버전 8.2.8을 사용하여 테스트했습니다 org-mode.


3
이것을 조언으로 할 수 있습니까? 일반적으로 가능한 경우 기존 라이브러리를 직접 수정하지 마십시오. 특히 업스트림 소스에서 자주 업데이트되는 것들. 편집 : 이제 init 파일에 함수 복사본을 만드는 것이 좋습니다. 직접 수정하는 것보다 낫습니다.
nispio

@nispio "일반적으로 가능한 경우 기존 라이브러리를 직접 수정하지 마십시오." 그것이 바로 함수의 복사본을 만드는 것을 제안한 이유입니다. add-text-properties원래 명령을 호출 합니다.
itsjeyd

향후 버전 org-mode에서이 부분을 별도의 defun으로 분리하여보다 쉽게 ​​조언하거나 교체 할 수 있다면 좋을 것입니다. 있습니까 org-mode개발자는이 같은 것들에 대한 풀 요청에 꽤 개방?
nispio

@nispio 끌어 오기 요청에 대해 잘 모르지만이 줄을 따라 제안을 메일 링리스트에 제출할 수 있습니다. 편집 : 여기 에 메일 링리스트에 패치를 제출할 수도 있으며이 페이지 에서는 "기본 패치 제출 방법"에 대해 설명합니다 org-mode.
itsjeyd
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.