使用vertico补全的情况下,switch-to-buffer的候选列表, 怎么让它把非文件的buffer放列表后面?

比如图中,红框中的buffer不想让它出现在前面,这种buffer很少用,却占据前排

忘了,这问题可以问AI了 :grinning_face:

:custom
(consult-buffer-filter
   '("\\` "
     "\\`\\*Echo Area"
     "\\`\\*Minibuf"
     "\\`\\*Messages\\*"
     "\\`\\*Warnings\\*"
     "\\`\\*Backtrace\\*"
     "\\`\\*Native-compile-Log\\*"
     "\\`\\*Async-native-compile-log\\*"
     "\\`\\*Compile-Log\\*"
     "\\`\\*EGLOT"
     "\\`\\*tramp"
     "\\`\\*eldoc"))

需要切换到隐藏的buffer就搜索时候按一下空格

参考它的主页,定义一个 consult-buffer-source,匹配下这些想排除的 buffer xx, 作为一个 source A

然后定制一个自己的函数,做两件事情:

  • 临时修改 consult-source-buffer 变量,使之排除 xx
  • 调用 consult-buffer,以特定顺序传入 sources,如 consult-source-buffer , A,保证 A 在末尾

另外我记得 consult-buffer 默认就是按使用频率排序吧?排到前面,说明近期切换过

实际使用的不是consult,而是Emacs标准的buffer切换命令,只是补全用的virtico。 AI给了我一个方案,自定义了一个排序函数,针对buffer类型的。貌似还可以,大部分此类buffer都在后面了,不过总会漏掉一个,奇怪。

那种buffer是自动产生的,我不会主动切换过去,所以即使近期用过,也不想让它出现在前面。

我实际使用的不是consult,而是Emacs标准的buffer切换命令,只是补全用的virtico。 AI给了我一个方案,自定义了一个排序函数,针对buffer类型的。貌似还可以,大部分此类buffer都在后面了,不过总会漏掉一个,奇怪。

建议你修改一下标题。你的标题直接就说了你使用的是 consult-buffer 这个命令。误导大家,浪费大家时间。

你可能用的是内置的 switch-to-buffer 这个命令。

已修改