我最后的设置是在org-mode-hook里加以下代码,
;; manually load org's own imenu function
(when (fboundp 'org-imenu-get-tree)
(setq imenu-create-index-function 'org-imenu-get-tree))
emacs 30.1的org 9.7.11的相关代码如下,如果我的配置没有先运行(require 'imenu)就打开一个org文件就有问题了,
(eval-after-load 'imenu
'(progn
(add-hook 'imenu-after-jump-hook
(lambda ()
(when (derived-mode-p 'org-mode)
(org-fold-show-context 'org-goto))))
(add-hook 'org-mode-hook
(lambda ()
(setq imenu-create-index-function 'org-imenu-get-tree)))))