bash tab-complete でのみビープ音をオフにする方法

bash tab-complete でのみビープ音をオフにする方法

ビープ音は何かのときに便利だと思うので、のみタブ補完をオフにしたい(完全にオフにする方法を尋ねているのではなく、すでに回答済みServerfault の別の質問で)。私もルートアクセス権を持っておらず、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

タブ補完ベルを無効にする方法は、私にはわかりませんbash(ベルを完全に無効にするか、主観的により煩わしい視覚的なベルに変更する以外に)。

set show-all-if-ambiguous onを試してみる~/.inputrcと、シェルは2 回tab押すのを待つのではなく、押すとすぐに一致するコマンド/項目のリストを表示しますtab
副作用として、候補の一致が表示される前にベルが鳴らなくなります。

答え4

~/.inputrc には、次の可能性がありますが、私の場合は何も起こりませんでした。単に警告が鳴るだけです。これは Cygwin bash のバグである可能性があります。

set bell-style visible

関連情報