GNU/Linux >> Linux の 問題 >  >> Ubuntu

複数のファイル/ディレクトリがある場合にターミナルをオートコンプリートするにはどうすればよいですか?

次のような複数のディレクトリがある場合:

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 ターミナル(またはパテのようなリモートターミナル)を開いて、もう一度開きます…

例:

  1. 3つのファイルがある場合:file1file2 およびfile3 次のように入力します:

    e fTabTabTab

    循環します:

    e file1
    e file2
    e file3
    

    逆方向に循環したい場合は、 Shiftを押すだけです。 +タブ

  2. 入力する場合:

    very-complicated-command with lots of command line parameters
    

    次回同じコマンドが必要になったときは、次のように入力するだけです。

    very

    入力します:

    very-complicated-command with lots of command line parameters
    

これにより、bashの時間を大幅に節約できます。 😉


Ubuntu
  1. ディレクトリの内容が更新されたときにコマンドを実行するにはどうすればよいですか?

  2. 別のディレクトリにファイルを一覧表示するためにBashオートコンプリートをカスタマイズする方法は?

  3. ターミナルでファイルまたはディレクトリのフルパスを表示するにはどうすればよいですか?

  1. Unityターミナルボタンを別のターミナルで開くにはどうすればよいですか?

  2. gnome-terminal:新しいタブを開くときに作業ディレクトリのシンボリックリンクを保持する方法は?

  3. シェルが 1 行で展開するにはファイル名が多すぎる場合、圧縮された tar を作成するにはどうすればよいですか?

  1. ディレクトリ内のファイルとディレクトリの再帰的なファイルサイズを一覧表示するにはどうすればよいですか?

  2. コマンド実行時にターミナル出力を非表示にする方法は?

  3. Chromeの外でCtrl+tで新しい(クロム)タブを開くようにしますか?