1

Мой вопрос похож на этот, за исключением emacs вместо vim. Проблема в том, что у меня есть файл cpp, который я хочу открыть, и когда я набираю f [TAB], он автоматически завершает, чтобы foo бинарный файл foo вместо foo.cpp. Есть ли способ включить автозаполнение для файлов с определенным (или без) расширением? Или есть способ расставить приоритеты для определенных расширений?

РЕДАКТИРОВАТЬ: Я использовал это решение для автозаполнения в минибуфере, но я хочу решение для автозаполнения Bash.

РЕДАКТИРОВАТЬ: Я обнаружил, что я могу сделать export FIGNORE=.bin чтобы игнорировать все файлы с расширением .bin в автозаполнении Bash. Проблема с этим решением состоит в том, что это не работает для файла без расширения, и также нет способа сделать это, только если в одном каталоге нет файлов .cpp.

1 ответ1

1

Если вы дадите ему какое-то расширение (например, .bin), вы можете проигнорировать его с помощью дополнения-игнорируемого завершения:

При заполнении имен файлов Emacs обычно пропускает некоторые альтернативы, которые считаются маловероятными, как определено в переменной списка дополнения-игнорируемых-расширений. Каждый элемент в списке должен быть строкой; любое имя файла, оканчивающееся такой строкой, игнорируется как альтернатива завершения. Любой элемент, заканчивающийся косой чертой (/), представляет имя подкаталога. Стандартное значение дополнения-игнорируемых расширений имеет несколько элементов, включая «.o», «.elc» и «~». Например, если каталог содержит «foo.c» и «foo.elc», «foo» завершается до «foo.c». Однако, если все возможные дополнения заканчиваются «игнорируемыми» строками, они не игнорируются: в предыдущем примере «foo.e» завершается «foo.elc». Emacs игнорирует расширения-игнорируемые-завершения при отображении альтернатив завершения в списке завершения.

http://www.gnu.org/software/emacs/manual/html_node/emacs/Completion-Options.html

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .