Emacs Ido: Как сначала показать определенные окончания файлов?

Я использую 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 с одинаковым базовым именем).

1 ответ

Решение

"Если вы хотите настроить сортировку файлов по умолчанию, например, сначала сделать Sweave-файлы, укажите ido, какие файлы имеют более высокий приоритет сортировки:"

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

Но это работает только для ido-find-file не для ido-switch-buffer, Буферы отсортированы по most recent имущество. Я не знаю о функциональности, которая добавляет еще одно свойство сортировки most recent, функция ido-file-extension-lessp может быть использован для сортировки списка буферов таким образом. Но два вида сортировки могут конфликтовать друг с другом.

Другие вопросы по тегам