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

标签 emacs elisp org-mode attachment subtree

我广泛使用 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)))

最佳答案

也许我遗漏了一些东西,但首先调用org-narrow-to-subtree应该做你想做的事情(之后调用widen来恢复它)。

关于emacs - 如何在 emacs org-mode 中将函数限制为子树?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13967876/

相关文章:

emacs - 如何在python模式的yasnippet中删除一行的缩进?

emacs - emacs 的打字机声音

docker - 在 Emacs 中使用 org-mode 的 Docker 编程环境的文学编程设置

emacs - ido-mode 区分 dired-mode 缓冲区名称

lisp - "&optional"in(美化符号模式和可选 ARG)

emacs - 组织模式:抽屉的可见导出

emacs - 组织模式导出选项,例如 ODT、beamer

typescript - 如何将 tsconfig.json 应用于 Emacs org-babel?

emacs - GNU Emacs-23.3.1将不会加载CEDET-1.0

macos - 现在,Apple删除了转义键,使用emacs的策略是什么?