개요 트리를 새로운 조직 모드 파일로 다시 정리 하시겠습니까? 수 있습니다. 조직 모드

방금 org-mode를 시작하고 org-mode “inbox”파일에서 새 작업과 메모를 캡처하는 워크 플로를 상상합니다. 프로젝트로 성장하는 작업의 경우 새로운 org-mode 파일로 파일을 다시 정리하여 내 의제에 추가한다고 상상할 수 있습니다.

조직 모드 매뉴얼은 단지 동일한 파일 내에서 섹션을 refiling 수 있도록 보인다 제외하고, 나무를 내가 찾는 대부분의 방법을 refiling에 대해 설명합니다. 내가하고 싶은 것은 그 트리를 가져 와서 새 파일로 파일을 다시 제출하는 것입니다 (그리고 바람직하게는 의제 목록에 파일을 추가하십시오).

새 버퍼에 복사하여 붙여 넣은 다음 새로운 버퍼를 의제에 추가 할 수는 있지만 이것은 org 모드 신이 지름길을 갖는 것 같습니다.



답변

다음은 원하는대로 수정할 수있는 빠르고 명확한 elisp 함수입니다.

(defun 하위 트리에서 새 파일로)
  (인터렉티브)
  "조직 하위 트리를 새 파일로 이동하는 데 도움이됩니다"
  (org-copy-subtree nil t)
;;; 이 긴 setq 문은 첫 번째 제목의 제목을 가져 와서 새 .org 파일의 기본 파일 이름으로 사용합니다.
(setq 첫 번째 제목
  (임시 버퍼 포함)
    (양키)
    (버퍼 시작)
    (탐색 ""nil nil 1)
    (setq 타이틀 시작 (포인트))
    (시각 끝)
    (setq 제목 끝 (포인트))
    (setq 첫 번째 제목 (버퍼 하위 문자열 제목 시작 제목 끝))
  ))
(setq def-filename (concat 첫 번째 제목 ".org"))
(((삽입-디폴트 디렉토리 t))
  (파일-다른 창 찾기
    (읽기 파일 이름 "하위 트리를 파일로 이동 :"def-filename)
  ))
(org-paste-subtree)
;;; 이 마지막 명령은 새로운 .org 파일을 의제에 추가합니다.
(org-agenda-file-to-front)
)

*scratch*버퍼 에 붙여넣고 Ctrl+ 를 누르면이 코드에 빠른 시도를 할 수 있습니다 j. 그런 다음 조직 모드 파일의 하위 트리로 이동하여 Alt+ x를 누르십시오 M-x subtree-to-new-file.

emacs를 사용할 때마다 제자리에 있고 elisp에 익숙하지 않은 경우, 가장 쉬운 방법은이 코드를 .emacs구성 파일에 붙여 넣어 저장하는 것입니다. 함수 전후에 행을 추가하여 키 바인딩을 제공 할 수도 있습니다. 가장 쉬운 방법은 (아마도 최선은 아님) 다음과 같습니다 (global-set-key "\C-xw" 'subtree-to-new-file)..


답변

다른 org-mode 버퍼를 refile 목록에 추가하려면 .emacs 파일에 다음과 같은 행을 추가해야합니다. 나는 이것을 Brent Hansen의 구성에서 가져 왔습니다 ( 여기 참조 ).

; Targets include this file and any file contributing to the agenda - up to 9 levels deep
(setq org-refile-targets (quote ((nil :maxlevel . 9)
                                 (org-agenda-files :maxlevel . 9))))

(org-agenda-files :maxlevel .9)실제로 필요한 것만 , 다른 부분은 파일 레벨을 최대로 설정합니다.


답변