web-dev-qa-db-ja.com

コマンドライン履歴で前方に検索

と Ctrl + R 前のコマンドで検索できます。ヒットした場合 Ctrl + R ここでも、以前の古いコマンドが表示されます。この検索が「一方向」であるという問題は、押すたびに常に古い結果が表示されることです。 Ctrl + R

今、私がヒットした場合 Ctrl+R 何度も行って、実際に探していた結果を見逃した場合、検索を停止する必要があります(Ctrl + G)そして最初から再起動します。

コマンドはありますか(Ctrl + something )現在表示されているものよりも「新しい」結果を検索するには?

3
j1b3

Bashには、にマップされている前方履歴検索もあります。 CtrlS

多くの場合、このショートカットは、端末のstopフロー制御キーバインディングによってマスクされます( stty -a )。これにより、端末は何も出力しなくなります。必要なものではありません。

前方履歴検索を機能させるには、次の2つのオプションがあります。

  1. フロー制御を完全に無効にします:stty -ixon

  2. フロー制御を他のものにバインドします。に CtrlXstty stop ^X

5
slhck

Ctrl + S 履歴を「前方」に検索する必要があります。または、bind -pが指示するものはすべて、forward-search-historyにバインドされます。

1
choroba