私は、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 ライブラリのウェブサイト。