imenu-list怎么把显示的顺序改为当前源文件的顺序,而不是按首字母顺序来

如题。图如下:

EDIT:管理员删除了另一个问题的描述,请重新整理,另开新帖提问。

imenu 补全用的是 completing-read:

completing-read 默认是有排序的:

(defcustom completions-sort 'alphabetical
  "Sort candidates in the *Completions* buffer.
  ...)

置为 nil 即可。不过还要看你用的是哪个前端,是否遵循 completions-sort,像 helm/ivy 就主动纠正了排序问题。

请另开新帖提问。最好详细说明问题,可参考以下模板:

Summary

问题概述。

Steps to Reproduce:

重现步骤:

  1. 运行…
  2. 输入…

Actual Behavior

实际结果

Expected Behavior

期望结果

Environment

  • {OS} {VERSION}
  • Emacs {VERION}
  • Packages:
    • {PACKAGE1} {VERSION}
    • {PACKAGE2} {VERSION}

Error callstack (optional)

错误或堆栈信息

completions-sort怎么置nil阿,

发现在init.el直接(setq completions-sort nil)也无效呀。

我搜一下,这句话在minibuffer.el这里,但是我的emacs是apt-get install安装的,直接就是编译好的.elc文件。

有无效果最好用 emacs -Q 验证,加载了其他配置恐受干扰。