Заставить Terminal bash автоматически завершаться, останавливаться на неоднозначном символе и отображать все возможные варианты

2

Поведение, которое я наблюдаю, состоит в том, что когда я частично что-то печатаю и нажимаю TAB, если есть несколько файлов / команд, которые соответствуют тому, что я набрал, отображается только первый. Дальнейшие попадания TAB приводят к отображению других совпадений. Вместо этого я хочу, чтобы автозаполнение заполнялось до первого неоднозначного символа, а затем, если я снова нажму TAB, отобразить все возможные варианты (как, скажем, в терминале Ubuntu). Это то, что у меня есть в моем .inputrc:

set completion-ignore-case on
set show-all-if-ambiguous on 
TAB: menu-complete

Кажется, что я искал шоу «все, если было бы неоднозначно», но мне это не помогло.

Я на самом деле хочу поведение, которого нет у этого участника:

Пропустить первый звуковой сигнал терминала и отобразить неоднозначные расширения имени файла

Мне нравится слышать первый BEEP (или остановку), а затем вводить еще несколько символов, чтобы исправить неоднозначность.

swoop81
источник
Я думаю, вам нужно отключить меню завершено.
mtklr

Ответы:

2

Спасибо за комментарий от mtklr. Много Web на страницах, которые говорят о Mac OS X Terminal для автозаполнения, вас попросят добавить 3 строки, которые я упомянул в своем вопросе Но если вы хотите, чтобы поведение, как на Ubuntu, вам нужны только первые 2 строки:

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

Не добавлять TAB: меню завершено

он должен быть доступен по умолчанию в Mac OS Terminal (я, кажется, запутался, пытаясь настроить автозаполнение для git). Вам не нужно настраивать / создавать файл .inputrc для общего автозаполнения bash.

swoop81
источник