我经常使用org-mode的capture-refile-archive结构,但我对重组的工作方式有疑问。我使用IDO完成,这样当我重新构建一个树C-c C-w
时,我会在迷你缓冲区中重新获得所有可能的树。
然而,这导致了大量可能的完成,这些完成实际上并不具有可读性。如果您可以选择一个refile文件位置,然后使用org-goto-interface
临时缓冲区来选择一个特定的子树,那就更好了。
有人知道如何做到这一点吗?
答案 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
取决于你的工作
笔记的流程和结构,但这些例子有希望给你一个
了解如何让事情按照自己的方式运作。