Previous: Readline Arguments, Up: Readline Interaction
readlineは、 コマンド・ヒストリ の中から、 指定された文字列を含む行を検索するコマンドを提供しています。 インクリメンタル(incremental)と 非インクリメンタル(non-incremental)の2つの検索モードがあります。
インクリメンタル(incremental)・モードでは、 ユーザが検索文字列を入力し終わる前から検索が始まります。 検索文字列の中の文字が1つ入力されるたびに、 readlineは、 それまで入力された文字列にマッチする、 ヒストリの中の次のエントリを表示します。 インクリメンタル・モードの検索では、 検索したいヒストリ・エントリを見つけるのに本当に必要となる文字だけを入力するだけで済みます。 インクリメンタル・モードの検索を中止するのには、 <ESC>文字を使います。 <C-j>でも、 検索は中止されます。 <C-g>は、 インクリメンタル・モードの検索を終了させて、 元の行を表示します。 検索が中止されると、 検索文字列を含むヒストリ・エントリがカレント行となります。 検索文字列にマッチする他のエントリをヒストリ・リストから見つけるためには、 必要に応じて<C-s>または<C-r>を入力します。 これによって、 それまでに入力された検索文字列にマッチする次のエントリをヒストリから見つけるために、 下の方向、 または、 上の方向に検索が行われます。 Readlineコマンドにバインドされているキー・シーケンスのうち上記以外のものを入力すると、 検索は中止され、 そのコマンドが実行されます。 例えば <RET>が入力されると、 検索は中止され、 そのときの行が受け入れられたことになります。 したがって、 ヒストリ・リストの中のそのコマンドが実行されます。
非インクリメンタル(non-incremental)・モードでは、 マッチするヒストリ行の検索を開始する前に、 検索文字列全体を読み込みます。 検索文字列は、 ユーザによって入力されたものでも構いませんし、 カレント行の内容の一部であっても構いません。