
Как известно большинству людей здесь, при использовании bash в командной строке, если вы частично вводите имя файла, команду или опцию команды и т. д., bash завершит слово, если есть ровно одно совпадение.
Если совпадений больше одного, нужно нажать <Tab>
дважды, и bash сгенерирует список возможных совпадений.
Я хотел бы настроить bash так, чтобы он просто предоставлял эти опции в первом <Tab>
.
Возможно ли это без написания скрипта? т. е. опции оболочки?
man bash
есть раздел «программируемое завершение», но я не смог понять, есть ли там опция включения «завершения одной вкладкой».
решение1
Вставьте это в свой ~/.inputrc
:
set show-all-if-ambiguous on
Для получения дополнительного кредита добавьте:
set completion-ignore-case on
Все варианты есть вРуководство GNU...
решение2
У меня недостаточно репутации, чтобы комментировать, но я бы добавил к ответам jasonwryans, что его можно добавить .bash_profile
или .bashrc
написав их так:
bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'
Я думаю, кто-то еще задастся этим вопросом так же, как и я.