回答:
探しているreadlineコマンドは次のhistory-search-*
コマンドです。
history-search-forward
現在の行の先頭から現在のカーソル位置(ポイント)までの文字列の履歴を前方に検索します。これは非インクリメンタル検索です。
history-search-backward
現在の行の先頭とポイントの間の文字列の履歴を逆方向に検索します。これは非インクリメンタル検索です。
これらをあなたの.inputrc
にバインドします:
"\e[A": history-search-backward # arrow up
"\e[B": history-search-forward # arrow down
コマンドの最初の文字を入力し、キーUpとDownキーを使用して、.bash_history
その文字列で始まるコマンドのみを移動できます。
たとえば、vi
andを入力すると、などでUp始まる最初の前のコマンドに移動します。入力すると、次の前のインスタンスに移動します。vi
vim somefile
Up
すべてのreadlineバインディングの詳細については、http://linux.about.com/library/cmd/blcmdl3_readline.htmをご覧 ください。
「!」を追加します 探しているコマンドに。上矢印と下矢印の機能を置き換えたい場合は、inputrcファイルを変更する(他の回答が示唆するように)方法があります。
「command」が検索するコマンドである場合、これを入力します。
!comm
出力として「コマンド」を取得する必要があります。
同様に、コマンドの一部を含む(ただし開始しない場合もある)コマンドを検索する場合は、ctrl + rを押してからコマンドの一部を入力します。
「タブ」に入力して、入力したテキストを自動補完することもできます(これにはファイルも含まれます)。これは、履歴にないコマンドを探している場合(または履歴ファイルがない場合)に便利です。
履歴ファイルの「マスタリング」について詳しくは、http: //www.thegeekstuff.com/2008/08/15-examples-to-master-linux-command-line-history/をご覧ください。
これは/programming/1030182/how-do-i-change-bash-history-completion-to-complete-whats-already-on-the-lineの可能な複製です