Можно ли настроить bash для автозаполнения одной вкладкой, например, zsh?


13

Как известно большинству людей, при использовании bash в командной строке, если вы частично вводите имя файла, команду или параметр для команды и т. Д., Bash завершит слово, если найдется только одно совпадение.
Когда есть более одного совпадения, вам нужно нажать <Tab>дважды, и bash сгенерирует список возможных совпадений.
Я хотел бы настроить bash так, чтобы эти опции были указаны в первую очередь <Tab>.
Это возможно без написания сценария? т.е. вариант оболочки?

man bash есть раздел «программируемое завершение», но я не мог разобрать, есть ли опция, чтобы включить «завершение одной вкладкой».


И ... противоположный вопрос Можно ли настроить Zsh, чтобы не автозаполнение с одной вкладкой, как Bash (это то, что я хотел :)
Джош

Ответы:


17

Поместите это в свой ~/.inputrc:

set show-all-if-ambiguous on

Для дополнительного кредита добавьте:

set completion-ignore-case on

Все опции в руководстве по GNU ...


3
Heads up: положить это в ваш ~/.bash_profileне будет работать. Он должен идти в своем~/.inputrc
yndolok

5
Без шуток ... Вот почему я указал, что нужно разместить его там.
Джейсонвриан

6

У меня недостаточно репутации, чтобы комментировать, но я бы добавил к ответам jasonwryans, что они могут быть добавлены .bash_profileили написаны .bashrcтак:

bind 'set show-all-if-ambiguous on'
bind 'set completion-ignore-case on'

Я думаю, что кто-нибудь еще найдет этот вопрос, как я.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.