Как отключить или настроить умное завершение вкладок в Ubuntu (программируемое завершение)

9

Когда я запускаю различные команды в командной строке в Ubuntu и использую табуляцию для файлов. Мне даны только те файлы, которые имеют соответствующее расширение для команды, которую я запускаю. Например..

xmms <tab><tab>

будет список всех mp3 в текущем каталоге, а не JPEG.

В большинстве случаев это довольно полезно. Но если файл, который вы хотите, имеет неправильное расширение, или расширение действительно, но вкладка не считает, что это так, тогда он не выведет список файла или его заполнение. Так

  1. Есть ли способ отключить эту функцию (просто тупо завершить любой файл независимо от).
  2. Как вы настраиваете расширения, которые действительны для конкретной команды.

Спасибо

Питер

Vagnerr
источник
То же, что и это: superuser.com/questions/421397/…
MarcH

Ответы:

1

закомментируйте эти строки в /etc/bash.bashrc(это может быть в ~/.bashrc):

if [ -f /etc/bash_completion ]; then
 . /etc/bash_completion
fi
Джон Т
источник
10

Это называется «Программируемое завершение» в bash. Используйте <tab>для попытки программируемого завершения или используйте M-/для попытки завершения по умолчанию (обычно это файлы и каталоги). Смотрите также: http://spikeypillow.com/item/30/catid/4

Анника Бэкстрем
источник
Спасибо за официальное название (добавив его в заголовок вопроса)
Vagnerr,
Как это отвечает на вопрос?
Шантну
@shantnu Мы были молоды. Ошибки были сделаны.
Анника Бэкстрем
4

Самый элегантный способ отключить программируемое завершение должен добавить:

shopt -u progcomp

в ваш файл .bashrc. Для получения дополнительной информации см. Официальную документацию о shoptкоманде: http://www.gnu.org/software/bash/manual/html_node/The-Shopt-Builtin.html.

sysprv
источник
2

Чтобы изменить поведение завершения, просто отредактируйте / etc / bash_completion. Прокрутите вниз, где вы найдете список программ и связанных с ними расширений. Это должно быть довольно очевидным оттуда.

Ким
источник