Emacs org-mode:使用goto-interface重新编译

时间:2014-10-30 11:07:37

标签: emacs org-mode

我经常使用org-mode的capture-refile-archive结构,但我对重组的工作方式有疑问。我使用IDO完成,这样当我重新构建一个树C-c C-w时,我会在迷你缓冲区中重新获得所有可能的树。

然而,这导致了大量可能的完成,这些完成实际上并不具有可读性。如果您可以选择一个refile文件位置,然后使用org-goto-interface临时缓冲区来选择一个特定的子树,那就更好了。

有人知道如何做到这一点吗?

2 个答案:

答案 0 :(得分:3)

您正在寻找的设置可能是

(setq org-refile-use-outline-path 'file)
(setq org-outline-path-complete-in-steps t)

org-refile-use-outline-path可让您在路径的每个阶段竞争后,路径(file.org/heading/subheading)和org-outline-path-complete-in-steps将暂停,从而提供重新定位目标。开始重新启动,键入路径并按[tab]以获取所有顶级标题的列表。继续前往您想要的位置。

答案 1 :(得分:0)

您可以在运行前设置org-refile-targets来执行此操作 org-refile。例如,我 described正在做 这用于选择和重新归档不在全局的Org文件 org-refile-targets。那是专注于除了以外的功能 org-refile处理特殊情况,但是如果您想要org-refile 总是要求一个缓冲区或文件来重新编写,你可以建议 org-refile覆盖org-refile-targets或您可以设置 org-refile-targets到返回所选缓冲区的函数。

(defun km/get-open-org-file ()
  (buffer-file-name
   (get-buffer
    (org-icompleting-read "Buffer: "
                          (mapcar 'buffer-name
                                  (org-buffer-list 'files))))))

(setq org-refile-targets '((km/get-open-org-file . (:maxlevel . 2))))

你如何设置org-refile-targets取决于你的工作 笔记的流程和结构,但这些例子有希望给你一个 了解如何让事情按照自己的方式运作。