Как отключить только звуковой сигнал в bash tab-complete

Как отключить только звуковой сигнал в bash tab-complete

Я считаю, что звуковой сигнал полезен для некоторых вещей, поэтому ятолькохочу отключить автодополнение по табуляции (я не спрашиваю, как полностью отключить это, этоуже был дан ответв другом вопросе на Serverfault). У меня также нет прав root, работаю на RHEL5.

решение1

Библиотека Readline имеет bell-styleпеременную:

Управляет тем, что происходит, когда Readline хочет позвонить в звонок терминала. Если установлено значение «none», Readline никогда не звонит в звонок. Если установлено значение «visible», Readline использует видимый звонок, если он доступен. Если установлено значение «audible» (по умолчанию), Readline пытается позвонить в звонок терминала.

Итак, вы можете поместить в свой ~/.inputrcфайл следующую строку:

 set bell-style none

Далее запустите bind -f ~/.inputrcего один раз, чтобы загрузить.

решение2

Если вы не хотите создавать и поддерживать отдельный ~/.inputrcфайл, вы можете просто добавить эту строку ~/.bashrc:

bind 'set bell-style none'

Затем source ~/.bashrcперезагрузить его.

решение3

Я не знаю ни одного способа отключить звонок завершения нажатия клавиши Tab bash(кроме полного отключения звонка или замены его на субъективно более раздражающий визуальный звонок).

Вы можете попробовать set show-all-if-ambiguous onв вашем ~/.inputrc- это заставит оболочку показывать список соответствующих команд/элементов немедленно, когда вы нажмете, tabа не ждать, пока вы нажмете tabдважды.
Побочным эффектом является отсутствие звонка перед показом возможных совпадений.

решение4

В ~/.inputrc есть следующая возможность, но она мне ничего не дала. Она просто звонит в колокольчик. Это может быть баг в Cygwin bash.

set bell-style visible

Связанный контент