我用 ido-mode
在 Emacs 24 下具有以下设置:
(ido-mode 1)
(setq ido-enable-flex-matching t)
(setq ido-everywhere t)
(setq ido-use-filename-at-point 'guess)
(setq ido-use-url-at-point t)
(setq ffap-require-prefix t)
假设您在当前目录中有多个名称相同但结尾不同的文件。如果您通过
C-x b
更改缓冲区,您会收到几条建议。这些建议的顺序会受到某种影响吗?例如,假设您在当前目录中有多个 Sweave (.Rnw) 文件。它们总是比从它们创建的相应 (.tex) 文件更重要。因此在大多数情况下,您希望将缓冲区更改为 .Rnw 文件,而不是 .tex 文件。因此,如果首先建议 .Rnw 文件(在所有具有相同基本名称的 .Rnw 和 .tex 文件存在的目录中),那就太好了。
最佳答案
“如果你想调整默认的文件排序,比如让 Sweave 文件首先出现,告诉 ido 哪些文件给予更高的排序优先级:”
(setq ido-file-extensions-order '(".Rnw" ".tex"))
但它仅适用于
ido-find-file
不适用于 ido-switch-buffer
.缓冲区按 most recent
排序属性(property)。我不知道功能,它在 most recent
上添加了另一个排序属性。 .功能 ido-file-extension-lessp
可用于以这种方式对缓冲区列表进行排序。但是两种排序可能会相互冲突。
关于Emacs id : How to show particular file endings first?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14359242/