답변:
거기에있다 org-sort
명령은하지만 (내가 제대로 질문을 이해하고있는 경우) 당신은 당신이 원하는 결과를 얻을 수 있도록 파일 구조를 조정할 필요가있다.
org-sort
( C-c ^
)를 사용 하여 개요의 항목, 테이블의 행 또는 목록의 항목을 정렬하십시오. 예를 들어 제목에서 org-sort
모든 하위 항목을 정렬하도록 호출 할 수 있습니다 .
예제에서 개요의 최상위 항목을 정렬하려면 먼저 모든 항목을 선택하십시오. 전화 org-sort
하면 알파벳순, 우선 순위 등 정렬 방법을 묻는 메시지가 나타납니다.
귀하의 예에서 기대하는 최종 결과는 다음과 같습니다.
* Toto, A
Notes about Toto.
* Tutu, A
Notes about Tutu.
* Titi, C
Notes about Titi.
즉, 알파벳순으로 정렬하려고하지만 후행 문자가 우선합니까? 그에 대한 기본 제공 정렬이 없습니다. 해당 정렬 문자를 먼저 입력하도록 항목을 변경하면 (예 :) A, Toto
정상적인 알파벳 정렬이 작동합니다. 다른 옵션은 해당 정보를 각 항목의 속성으로 이동 한 다음 속성별로 정렬하는 것입니다.
@nanny가 주석에서 제안한 것처럼 org-sort
사용자 정의 정렬 함수를 호출 할 수도 있습니다. 이렇게하면 모든 항목을 변경하지 않고도 기존 파일을 사용할 수 있습니다. 다음은 현재 제목 텍스트를 찾아 마지막 문자를 시작 부분에 추가하여 우선 순위를 지정하는 정렬 함수입니다. 헤드 라인이 모두 정확한 패턴을 따르지 않으면보다 강력한 것이 필요합니다.
(defun my-sort-last-letter ()
(let ((text
(plist-get
(cadr (org-element-headline-parser (line-end-position)))
:raw-value)))
(concat (string (aref text (- (string-width text) 1))) text)))
[f]unc
정렬 유형을 사용 org-sort
하고 기존 구조를 기준으로 정렬하는 함수를 작성하는 것입니다.
query-replace-regexp
올바른 형식을 엄격하게 따르지 않는 몇 가지 제목을 빠르게 편집 한 후 내 문제를 아주 잘 해결 했습니다. 모든 데이터를 속성으로 변환하는 것보다 훨씬 쉽습니다.
우선 순위가 다른 헤드 라인을 파일의 어느 위치 에나 배치하고 있습니다. 나중에 나는 그것들을 의제보기로 정렬하여보고 있습니다 . 태그 를 사용 하면 구체적인 범주의 정렬 된 헤드 라인이 사용자 지정 아젠다보기로 표시 됩니다.
나는 그것이 파일에서 헤드 라인을 정렬하는 방법에 대한 대답이 아니라는 것을 알고 있지만 의제보기로 헤드 라인을 보는 것이 항상 가장 좋은 방법입니다. 주문에 대한 걱정없이 우선 순위가 지정된 헤드 라인을 빠르게 삽입 할 수 있습니다.
org-sort
?