web-dev-qa-db-ja.com

OSXbashターミナルのオートコンプリート-ダブルタブでの奇妙な動作

OSX Sierra 10.12.6を使用していますが、ターミナルウィンドウで奇妙な動作が発生しています。

cd ~/のようなコマンドを入力するとき、すべてのパスオプションを表示するためにTabキーをすばやく2回押すことを期待しています。例えば:

cd ~/

[double press tab]

cd ~/
.CFUserTextEncoding
.DS_Store
.Trash/
.account
.Android/
.avn/
.avnrc
.babel.json
.bash_history
.bash_profile
...

代わりに、一度に1つのパスオプションしか表示されません。 Tabキーを押すと、次のタブに切り替わります。

cd ~/
[press tab]
cd ~/.CFUserTextEncoding
[press tab]
cd ~/.DS_Store
[press tab]
cd ~/.Trash/
...etc

Tabキーをすばやく2回押すと、これが2回行われます。

この問題は、複数のOSアップデートを通じて一定に保たれています。誰かがそれを修正する方法を知っていますか?

4
Bogdan Balan

Tabキーにcompleteではなくmenu-completeがバインドされているようです。 (bind -P | grep menu-completeで確認してください。)これをアクティブ化する方法はいくつかあります。

  • C-i: menu-completeファイル内の.inputrc
  • bind 'C-i: menu-complete'またはその他のシェル構成ファイル内の.bashrc

問題のある行が見つかった場合は、それを削除して、デフォルトのバインディングをcompleteに戻します。できない場合は、C-i: completeファイルに.inputrcを追加して、menu-completeへのバインドを上書きしてみてください。

4
chepner