Emacs Completion отказывается создавать новый файл

Когда я пытаюсь создать новый файл в Emacs с C-x C-f, вводя имя файла, Завершение всегда автоматически соответствует имени. К сожалению, как только Emacs обнаружит, что совпадающего файла нет, он попытается найти файл с именем, которое я только что ввел, в других путях. Поэтому, когда есть файл с таким же именем по другому пути, я не могу создать этот файл по текущему пути. Кто-нибудь скажет мне, как избежать этой досадной проблемы?


person yangdawei    schedule 17.08.2015    source источник
comment
Я подозреваю, что вы используете либо ido, либо helm. Для первого см. этот вопрос.   -  person Chris    schedule 17.08.2015
comment
@Chris: Нам не нужно гадать. ;-)   -  person Drew    schedule 17.08.2015


Ответы (1)


Вопрос неясен, а потому рискует быть закрытым. Попробуйте дать пошаговый рецепт того, что вы делаете, начиная с emacs -Q (без файла инициализации), чтобы воспроизвести проблему.

По умолчанию (в ванильном Emacs) C-x C-f привязан к find-file и не выполняет поиск по нескольким «путям». Он смотрит только в текущем каталоге (default-directory), если вы не измените каталог в минибуфере во время выполнения команды.

Начните с использования C-h k C-x C-f, чтобы увидеть, какую команду вы на самом деле используете.

person Drew    schedule 17.08.2015
comment
Функция завершения всегда соответствует имени файла, которое я набираю в мини-буфере. Например, есть путь /a и файл с именем test.txt и вложенный путь /a/b. Теперь я пытаюсь создать test.txt. Функция завершения автоматически найдет первый файл и откажется создавать test.txt в /a/b. - person yangdawei; 17.08.2015
comment
Опять же, пошаговый рецепт, пожалуйста, начиная с emacs -Q (без файла инициализации). - person Drew; 17.08.2015
comment
emacs -Q функций завершения нет, поэтому файл создается нормально. Спасибо. Но как сделать файл с запуском файла инициализации? - person yangdawei; 18.08.2015
comment
По совету моего друга, ввод «C-f» сразу после «C-x C-f» может отменить завершение и создать новый файл. Так что я считаю, что моя проблема решена. Большое Вам спасибо. - person yangdawei; 18.08.2015
comment
Похоже, вы используете режим Ido (Interactive Do). Вы должны знать об этом, чтобы вы могли обратиться к Emacs за помощью по поводу режима Ido, когда у вас возникнут другие проблемы с ним. Режим Ido не является стандартным/обычным способом завершения Emacs. См. руководство Ido (C-h i и выберите Ido в меню). - person Drew; 18.08.2015