Emacs org-mode:使用 goto 界面重新归档

问题描述 投票:0回答:2

我经常使用组织模式的捕获-重新文件-归档结构,但我对重新归档的工作方式有疑问。我使用 IDO 补全,这样当我重新归档树时

C-c C-w
我就可以在迷你缓冲区中获得所有可能的树来重新归档。

然而,这会导致大量可能的补全,而这些补全确实不太可读。如果您可以选择重新归档文件位置,然后使用

org-goto-interface
临时缓冲区来选择特定的子树,那就更好了。

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

emacs org-mode
2个回答
4
投票

也许您正在寻找的设置是

(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]
即可获取所有顶级标题的列表。继续前往您想要的位置。


0
投票

您可以通过在运行前设置

org-refile-targets
来完成此操作
org-refile
。例如,我有 描述做 用于选择并重新归档到不在全局中的 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
很大程度上取决于您的工作 笔记的流程和结构,但这些例子希望能给你一个 了解如何让事情按照您想要的方式运行。

© www.soinside.com 2019 - 2024. All rights reserved.