Emacs ORG-মোডে, যেমন একটি কমান্ড আছে new-file-from-subtree
?
আমি মনে করি, এই কমান্ডটি বর্তমান ফাইল থেকে সাবট্রি কেটে দেবে, সাবট্রিটি একটি নতুন বাফারে আটকে দেবে, তারপর নতুন বাফারটি সাবট্রি নামের সাথে সংরক্ষণ করবে।
Emacs ORG-মোডে, যেমন একটি কমান্ড আছে new-file-from-subtree
?
আমি মনে করি, এই কমান্ডটি বর্তমান ফাইল থেকে সাবট্রি কেটে দেবে, সাবট্রিটি একটি নতুন বাফারে আটকে দেবে, তারপর নতুন বাফারটি সাবট্রি নামের সাথে সংরক্ষণ করবে।
উত্তর:
আমি এই ধরনের কমান্ড বর্তমানে বিদ্যমান বিশ্বাস করি না। তবে নিম্নলিখিত কৌশলটি করবে:
(require 'org-element)
(defun zin/org-file-from-subtree (&optional name)
"Cut the subtree currently being edited and create a new file
from it.
If called with the universal argument, prompt for new filename,
otherwise use the subtree title."
(interactive "P")
(org-back-to-heading)
(let ((filename (cond
(current-prefix-arg
(expand-file-name
(read-file-name "New file name: ")))
(t
(concat
(expand-file-name
(org-element-property :title
(org-element-at-point))
default-directory)
".org")))))
(org-cut-subtree)
(find-file-noselect filename)
(with-temp-file filename
(org-mode)
(yank))))
যেমন, এটি বর্তমান শিরোনামটিকে স্তর 1 তে উন্নীত করবে না, এটি বিদ্যমান গভীরতা বজায় রাখবে। (প্রচার এছাড়াও ভাল হিসাবে কাজ করা উচিত, কিন্তু আরো জটিল কোড প্রয়োজন হবে)। এটি ব্যবহার করে একটি নতুন ফাইলের নাম অনুরোধ করার বিকল্পও দেয় C-u
।
(add-hook 'org-mode-hook (lambda () (local-set-key "C-c C-x n" 'my-zin-org-new-file-from-subtree)))
"\C-c\C-xn"
এবং এটা কাজ করা উচিত।
.org
ফাইল নাম কি? এটা কি আমাকে আসল বাফারে ফিরিয়ে আনতে পেরেছিল?