นี่คือฟังก์ชั่น elisp ที่รวดเร็วและสกปรกที่สามารถแก้ไขได้ตามที่คุณต้องการ
(กำหนดค่าทรีย่อยเป็นไฟล์ใหม่)
(เชิงโต้ตอบ)
"ช่วยอย่างลื่นไหลในการย้ายทรีย่อยไปยังไฟล์ใหม่"
(org-copy-subtree ไม่มี)
;;; คำสั่ง setq แบบยาวนี้ได้รับหัวเรื่องของหัวเรื่องแรกเพื่อใช้เป็นชื่อไฟล์เริ่มต้นสำหรับไฟล์. org ใหม่
(setq ส่วนหัวแรก
(ที่มีอุณหภูมิบัฟเฟอร์
(งัด)
(เริ่มต้นของบัฟเฟอร์)
(ค้นหาไปข้างหน้า "" ไม่มีศูนย์ 1)
(setq title-start (จุด))
(สิ้นสุดของภาพเส้น)
(setq title-end (จุด))
(setq first-header (buffer-substring title-start Title-end))
))
(setq def-filename (concat first-header ".org"))
(ให้ ((แทรกค่าเริ่มต้นไดเรกทอรี t))
(ค้นหาไฟล์อื่น ๆ หน้าต่าง
(read-file-name "ย้ายทรีย่อยไปยังไฟล์:" def-filename)
))
(องค์กรวาง-ทรีย่อย)
;;; คำสั่งสุดท้ายนี้จะเพิ่มไฟล์. org ใหม่ให้กับวาระการประชุม
(องค์กร-วาระไฟล์ไปด้านหน้า)
)
คุณสามารถให้รหัสนี้ลองอย่างรวดเร็วโดยการวางลงใน*scratch*
กันชนและกด+Ctrl jจากนั้นไปที่ทรีในแฟ้ม org โหมดและกดAlt+ เพื่อxM-x subtree-to-new-file
หากคุณต้องการให้มันอยู่ในตำแหน่งทุกครั้งที่คุณใช้ emacs และไม่มีความสมบูรณ์ด้วย elisp สิ่งที่ง่ายที่สุดคือการวางโค้ดนี้ไว้ใน.emacs
ไฟล์กำหนดค่าของคุณและบันทึกไว้ นอกจากนี้คุณยังสามารถเพิ่มบรรทัดก่อนหรือหลังฟังก์ชันเพื่อให้การเชื่อมโยงคีย์ วิธีที่ง่ายที่สุดที่จะทำ ( แต่อาจจะไม่ดีที่สุด) (global-set-key "\C-xw" 'subtree-to-new-file)
จะเป็นสิ่งที่ชอบ