如何在emacs org-mode中将函数限制为子树?

Ott*_*fer 9 emacs elisp attachment subtree org-mode

我正在广泛使用org-mode和org-attach,这意味着可以有许多与一个org文件关联的附件目录.

在worg上我找到了Matt Lundi的一个函数,它允许查看属于整个文件的所有附件并用ido浏览它们.

我想将此函数限制为一个子树,这将使它对我的用例更有用.

因为我不是emacs的新手,但我几乎完全是文盲,我在这里问.

这是功能:

(defun my-ido-find-org-attach ()
  "Find files in org-attachment directory"
  (interactive)
  (let* ((enable-recursive-minibuffers t)
         (files (find-lisp-find-files org-attach-directory "."))
         (file-assoc-list
          (mapcar (lambda (x)
                    (cons (file-name-nondirectory x)
                          x))
                  files))
         (filename-list
          (remove-duplicates (mapcar #'car file-assoc-list)
                             :test #'string=))
         (filename (ido-completing-read "Org attachments: " filename-list nil t))
         (longname (cdr (assoc filename file-assoc-list))))
    (ido-set-current-directory
     (if (file-directory-p longname)
         longname
       (file-name-directory longname)))
    (setq ido-exit 'refresh
          ido-text-init ido-text
          ido-rotate-temp t)
    (exit-minibuffer)))
Run Code Online (Sandbox Code Playgroud)

pok*_*ita 3

也许我错过了一些东西,但org-narrow-to-subtree首先打电话应该做你想做的事(widen之后打电话来恢复)。