Org-refile 使用 ido,不使用 ido 作为完成引擎

Org-refile with ido, not using ido as the completion engine

我正在尝试使用 org-mode 设置 capture/refile 工作流,但我无法让 ido 作为完成引擎工作。

我启用了 ido:

(require 'ido)
(setq ido-everywhere t)
(ido-mode t)

然后在我的配置中,我尝试使用以下配置 org-refile 设置 ido 完成

(setq org-agenda-files
      '("~/org/captured.org"
        "~/org/work.org"
        "~/org/learning.org"
        "~/org/life.org"))
(setq org-refile-targets '((nil :maxlevel . 6)
                           (org-agenda-files :maxlevel . 6)))
(setq org-refile-use-outline-path 'file)
(setq org-completion-use-ido t)

我希望通过这些设置,当我尝试调用 org-refile 时,我会在迷你缓冲区中看到一个 ido 完成界面,列出我可以重新提交的文件和标题,结构类似于目录树。

然而,我看到的只是一片空白space,就像non-ido完成界面一样。我可以用这个界面来完成。例如,我可以键入 wo[Tab]em[Tab] 以获得 work/email,但我更喜欢 ido.

我的配置有问题吗?

进一步研究并阅读 Whosebug 后,我意识到问题所在。

我一直在试验变量 org-outline-path-complete-in-steps,并在某个时候将其设置为 t。确保此变量设置为 nil 允许 ido 按我的预期工作。

感谢这个回答帮助我: