emacs: заставить ido-mode забыть историю

Интересно, смогу ли я заставить ido не запоминать мою историю и показывать завершения только для файлов, которые находятся в текущем каталоге, когда я ищу файл. Я понимаю, что эта функция истории иногда бывает полезна, но я часто заканчиваю редактирование неправильного файла, потому что мне кажется, что я редактирую файл с именем abc.txt в текущем каталоге, но на самом деле я редактирую файл с тем же именем в еще один, который я ранее посещал (часто бывает, когда в текущем каталоге нет abc.txt, как я ошибочно предполагаю). Прочитав файл ido.el, я решил установить его в своем файле .emacs (также оценил эти выражения в запущенном экземпляре emacs):

(custom-set-variables
 '(ido-enable-last-directory-history nil)
 '(ido-record-commands nil)
)

и удалил файл с именем .ido.last в ~ /, но все же помнит некоторые предыдущие файлы, которые я посещал до внесения этих изменений. Как я могу очистить свою предыдущую историю, и я не совсем уверен, в чем разница между двумя приведенными выше переменными, но, похоже, помог ido не запоминать файлы, которые я посещаю в будущем?

Спасибо за вашу помощь!


person hatmatrix    schedule 03.09.2009    source источник
comment
Ах, у меня, должно быть, был запущен еще один экземпляр emacs, когда я пытался удалить ~ / .ido.last раньше - удаление ~ / .ido.last, похоже, работает, а приведенные выше команды не позволяют ему запоминать новые!)   -  person hatmatrix    schedule 04.09.2009
comment
Пожалуйста, сделайте свой комментарий ответом и отметьте свой ответ как принятый, чтобы он не выглядел как вопрос без ответа для людей, которые хотят помочь.   -  person Ryan McGeary    schedule 06.09.2009
comment
Извините, я не знал, что такое ТАК этикет.   -  person hatmatrix    schedule 06.09.2009


Ответы (3)


Удаление ~ / .ido.last и установка переменных, как указано выше, по-видимому, удерживает ido от поиска файлов, посещенных ранее.

Изменить: На самом деле, полная настройка для этой задачи будет

(custom-set-variables
 '(ido-enable-last-directory-history nil)
 '(ido-record-commands nil)
 '(ido-max-work-directory-list 0)
 '(ido-max-work-file-list 0))
person hatmatrix    schedule 06.09.2009

Со мной такое случается постоянно. Поскольку я нахожусь в каталоге /path/to/dir и пытаюсь отредактировать abc.txt, (ido-find-file) "услужливо" перенаправит меня в /somewhere/else/abc.txt, если /path/to/dir/abc.txt не существует, а /somewhere/else/abc.txt существует.

В этой ситуации CTRL-F в минибуфере, когда он находится в середине (ido-find-file), возвращается к обычному поведению (find-file), так что я могу заставить Emacs редактировать /path/to/dir/abc.txt, черт возьми.

person dhruv    schedule 15.05.2010
comment
Мне это действительно помогло! - person ifree; 25.11.2013

Установка ido-auto-merge-work-directories-length на -1 отключает автоматическое переключение каталога.

person Vadim Shender    schedule 11.04.2017