web-dev-qa-db-ja.com

bashのオートコンプリートが完了のページリストを表示するタイミングを制御するにはどうすればよいですか?

以前のLinuxインストールでは、bashの自動補完は常に問題なく機能していました。ファイルに何かをしたい場合は、ファイル名のプレフィックスを指定し、プレフィックスに一致するすべてのタブをリストしますが、コマンドとプレフィックスでその下のプロンプトも繰り返したため、すぐに入力を続けることができました。

システムをkubuntu 18.04に更新しましたが、オートコンプリートはスムーズに機能しなくなりました。さらに奇妙なことに、この動作はコンソールに依存しているため、予測できません。コマンドがlessの場合、(上記のように)常に正しく動作しますが、コマンドがcpまたはmvの場合、動作は異なります。時には正しく動作することもありますが、多くの場合、一致するファイルのリストが表示され(プロンプトが非表示)、入力する必要があります q さらに終了して続行することができます。小さなことですが、余分なタイピングが必要なので迷惑です。

.bashrc/usr/share/bash-completion/bash_completionを呼び出すことがわかりましたが、これに変更を加えていません。

質問:この予測不可能な動作の原因は何ですか?どうすれば修正できますか?

8
whamalai

理由は非常に単純であることが判明しました:ターミナルが十分に大きい場合、自動補完はプロンプト(2列)の上にすべての選択肢を表示できますが、小さすぎる場合はさらに多くを使用します。そのため、トリックは十分に大きい端末を使用することです。

何らかの理由で、以前のインストールでこれに遭遇したことはありませんでした。おそらく、より大きな端末/より小さいフォントが原因です。少ないもので、すべてがうまく機能しました。代替品が少なく、端末に適合したからです。

8
whamalai