你这个是正常的,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 的补全风格。