orderless completion当中排序的问题

你这个是正常的,orderless 的风格就是这样。因为你的第一个候选里面也匹配了 smartparens-mode,然后所有的候选按字母排序。

你可以试试这样设置:

(setq completion-styles '(basic partial-completion orderless)
        completion-category-overrides '((file (styles basic partial-completion))))

这样只会使用 basic,如果在minibuffer 中 用了 vertico,第一个关键字加空格后才会激活 ordeless

还有一种方法是,只在 minibuffer 中启用 orderless 比如 purcell 的配置:

如果你想在 buffer 中用 orderless,推荐你试试 corfu 这个补全前端,它可以使用 M-Space 来启动 orderless 的补全风格。

1 个赞