bash タブの自動補完機能

bash タブの自動補完機能

私は、zsh のように、すべての可能性を循環的に表示しながら、可能性が多すぎないと仮定してすべての可能性を印刷し、そうでない場合は印刷前に確認するという通常の操作も実行する bash のオートコンプリート機能が欲しいです。

これら 2 つは相互に排他的ではありません。可能性を循環させる方法はわかっています (「TAB:menu-complete」をバインド) が、最初の機能は失われます。

また、ループ全体をもう一度実行するのは非常に面倒なので、後戻り(他の多くのソフトウェアのように、Shift + Tab のようなもの)が可能かどうか疑問に思いました。

答え1

この機能を利用するには、~/.inputrcファイルに次の行を書き込む必要があります。

# cycle forward
Control-k: menu-complete
# cycle backward
Control-j: menu-complete-backward

この方法では、現在のタブの動作が維持されます。また、追加することを検討したい別の構成オプションもあります。

# display one column with matches
set completion-display-width 1

可能性は 1 つの列に表示されるため、次のようになります。

file1 file2 file3 file4...

または

file1  file3  ...
file2  file4

得られるもの:

file1
file2
file3
file4
...

私の好みとしては、目に優しいです。

man readline詳細については、GNU Readline ライブラリのウェブサイト

関連情報