Emacs ido:如何首先显示特定的文件结尾?

时间:2013-01-16 13:09:39

标签: emacs ido

我在Emacs 24下使用ido-mode并使用以下设置:

(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文件的所有目录中)将是很好的。

1 个答案:

答案 0 :(得分:7)

“如果您想调整默认文件排序,比如首先显示Sweave文件,请告诉ido哪些文件具有更高的排序优先级:”

(setq ido-file-extensions-order '(".Rnw" ".tex"))

但它仅适用于ido-find-file,不适用于ido-switch-buffer。缓冲区按most recent属性排序。我不知道功能,它在most recent上添加了另一个排序属性。函数ido-file-extension-lessp可用于以这种方式对缓冲区列表进行排序。但是两种排序可能会相互冲突。