次のような複数のディレクトリがある場合:
afoo abar
タブを押すと、ターミナルがオートコンプリートを拒否し(たとえば、「cd a」、次にタブ)、代わりにディレクトリのリストを出力することがあります。時にはそれは騒々しい、迷惑な音を投げることさえあります。このような場合にオートコンプリートする方法はありますか?たとえば、最初にabarを表示し、もう一度Tabキーを押すとafooを表示できます。これはWindowsの場合、またはUbuntuのアプリケーションの場合です
ベストアンサー
私にとって命の恩人であるのは、ばかげたリストを表示するのではなく、可能性をbashで循環させることです。
bashはreadline
を使用しているため オートコンプリートの場合は、次の行を~/.inputrc
に追加します
満足して、以下のソリューションを数日/週にわたって徹底的にテストしたら、カットアンドペースト (コピーしないでください!)~/.inputrc
からの同じ設定 /etc/inputrc
へ これにはシステム全体の設定が含まれており、システム上のすべてのユーザー(ゲストを含む)がこれを利用できるようにします。
コード:
# mappings to have up and down arrow searching through history:
"e[A": history-search-backward
"e[B": history-search-forward
# mappings to have left and right arrow go left and right:
"e[C": forward-char
"e[D": backward-char
# mapping to have [Tab] and [Shift]+[Tab] to cycle through all the possible completions:
"t": menu-complete
"e[Z": menu-complete-backward
次にexit
ターミナル(またはパテのようなリモートターミナル)を開いて、もう一度開きます…
例:
-
3つのファイルがある場合:
file1
、file2
およびfile3
次のように入力します:e fTabTabTab
循環します:
e file1 e file2 e file3
逆方向に循環したい場合は、 Shiftを押すだけです。 +タブ
-
入力する場合:
very-complicated-command with lots of command line parameters
次回同じコマンドが必要になったときは、次のように入力するだけです。
very↑
入力します:
very-complicated-command with lots of command line parameters