回答:
readline関数がありend-of-history
、デフォルトでM- >にマップされますが、逆検索中に使用すると、逆検索プロンプトが終了します。
代わりに、逆検索を使用するには、を使用history-search-backward
してhistory-search-forward
(デフォルトではマップされていません)、それらをup/down(非常に便利な)にマッピングします.inputrc
。
# up-down arrow to search in history
"\e[A":history-search-backward
"\e[B":history-search-forward
したがって、入力した後、up
(Ctrl+の代わりにR)を押して逆方向検索を行うことができます。履歴の最後に戻りたい場合は、end-of-history
(M- >)を押して関数を使用できます。
このように、「検索文字列は履歴行の先頭で一致する必要がある」ので、を検索するls -ltr
場合は、入力ls
してからupキーを押す必要があり ます。
「検索文字列が履歴行のどこにでも一致する可能性がある」が必要な場合は、次を使用する必要がhistory-substring-search-forward
ありhistory-substring-search-backward
ます。
# up-down arrow to search in history
"\e[A":history-substring-search-backward
"\e[B":history-substring-search-forward
このようにして、を検索するls -ltr
場合は、を押す前にと入力することls
もできltr
ますup。
history
..あなたに行われたすべてのbashのコマンドが表示されます