3

Я недавно установил bash-completion (через homebrew). Теперь он пропускает файлы в списке завершения, которые я хочу показать, и полностью опускает допустимые параметры, такие как этот:

[alex@mbp foo]$ ls bar.csv foo.csv [alex@mbp foo]$ sh ../dosomething.sh fo<TAB> ((nothing shown))

Как тяжелый пользователь командной строки, это очень раздражает. Может кто-нибудь сказать мне, как отключить это поведение? Я не смог найти ничего полезного в документации или гугле.

В FAQ по завершению bash говорится:

Q. Код завершения bash запрещает некоторым командам выполнять файлы с расширениями, которые являются допустимыми в моей среде. Нужно ли отключать завершение для этой команды, чтобы завершить файлы, которые мне нужны?

A. Нет. Используйте M-/ to (в словах справочной страницы bash), чтобы попытаться завершить имя файла в тексте слева от курсора. Это обойдет любые ограничения на типы файлов, установленные кодом завершения bash.

Но это не приемлемое для меня решение - я хочу, чтобы "TAB" показывал все файлы / каталоги независимо от того, является ли расширение допустимым для файла или нет (именно так оно работало для меня последние 20 лет).

Как мне этого добиться?

Я бы предпочел настройку .bashrc/.bash_profile удаления глобальных сценариев завершения. Вот как я сейчас включаю bash-complete (это просто стандартная домашняя установка):

[ -f /usr/local/etc/bash_completion ] && . /usr/local/etc/bash_completion

Обновление: я видел завершение этой вкладки имени файла в Bash, но это не совсем то, что я хочу, так как требует слишком много ручной работы для каждого возможного расширения файла на земле / моей системе.

0