Как пропустить определенные папки на ido-switch-buffers и ido-dired?

Я хотел бы игнорировать определенные папки, открывающиеся через ido-dired при изменении буферов в Emacs. Эти папки являются системными папками на Mac и не должны удаляться в противном случае, поэтому, по крайней мере, я хотел бы их скрыть (особенно раздражает, например, ~/Documents, который предлагается, когда кто-то хочет перейти на ~/Downloads и, таким образом, начинает печатать Do...) .

С этой целью я нашел ido-ignore-directories и использовал следующую строку в .emacs, чтобы опустить эти папки:

(setq ido-ignore-directories (quote ("~/Applications" "~/Documents" "~/Library" "~/Movies" "~/Music" "~/Pictures" "~/Public")))

Проблема в том, что они все еще предлагаются, когда я использую ido-dired.

Как можно скрыть папки на ido-dired?

Обновить

При установке ido-ignore-directories в соответствии с предложением npostavs папка по-прежнему отображается: введите здесь описание изображения


person Marius Hofert    schedule 27.05.2015    source источник
comment
Вы имеете в виду ido-switch-buffer? Для этого нужно установить ido-ignore-buffers. Обратите внимание, что это должно быть регулярное выражение или функция, поэтому обычная строка не подойдет. Боюсь, у ido-dired нет такой переменной.   -  person pmr    schedule 28.05.2015
comment
Привет, да, я имел в виду ido-switch-buffer (исправлю, спасибо). ido-ignore-buffers только для игнорирования файлов, но не папок (насколько я понял). Пользуюсь в основном ido-dired... жаль что нельзя для этого.   -  person Marius Hofert    schedule 28.05.2015
comment
Я потерялся. Вы говорите о ido-switch-buffer, а затем о каталогах. Это бессмысленно. ido-switch-buffer переключается между буферами, ему все равно, что представляет собой буфер.   -  person pmr    schedule 28.05.2015
comment
ааа, правильно, ido-switch-buffer наверное неправильно... если папка не отображается как буфер, она не должна появляться. Я обновил вопрос соответственно.   -  person Marius Hofert    schedule 28.05.2015


Ответы (1)


С этой целью я нашел ido-ignore-directories и использовал следующую строку в .emacs, чтобы опустить эти папки:

(setq ido-ignore-directories (quote ("~/Applications" "~/Documents" "~/Library" "~/Movies" "~/Music" "~/Pictures" "~/Public")))

ido-ignore-directories — правильная переменная, но она соответствует только самому имени каталога, а не полному пути.

(setq ido-ignore-directories
      '("Applications/" "Documents/" "Library/" "Movies/" "Music/" "Pictures/" "Public/"))
person npostavs    schedule 28.05.2015
comment
Привет, спасибо за помощь. Я так пробовал, удалил все буфера (на всякий случай), но если я хочу изменить на Downloads, то все равно сначала предлагается Documents, например (см. мой скриншот). Хм... - person Marius Hofert; 28.05.2015
comment
извините, теперь я понимаю, что то, что я проверил на себе, немного отличалось от того, что я опубликовал, потому что я неправильно истолковал причину, по которой ваши настройки не работают. Обновлено с фактическими рабочими настройками. - person npostavs; 28.05.2015