방금 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)
실제로 필요한 것만 , 다른 부분은 파일 레벨을 최대로 설정합니다.