Next: , Previous: , Up: Incremental Search   [Contents][Index]


15.1.6 インクリメンタル検索を終了させない

このサブセクションでは、2つのカテゴリーに属するコマンドを説明します。これらのコマンドはインクリメンタル検索の一部ではありませんが、現在のインクリメンタル検索を終了させずにタイプできます。

プレフィクス引数

インクリメンタル検索でプレフィクス引数を入力すると、デフォルトではその引数は次の検索アクションに適用されるか、検索を終了させるコマンドに渡されます。

以前のバージョンのEmacsでは、プレフィクス引数の入力は常に検索を終了させていました。この振る舞いに戻すには、変数isearch-allow-prefixnilをセットしてください。

isearch-allow-scrollが非nilのとき(以下を参照)、プレフィクス引数は上で説明したようなデフォルト動作をします。

スクロールコマンド

通常スクロールコマンドは、インクリメンタル検索を終了させます。変数isearch-allow-scrollを非nil値に変更すると、スクロールバーやC-vM-vC-lのようなスクロールコマンド(Scrollingを参照してください)が利用可能になります。これは、これらのコマンドをバウンドされたキーシーケンスで呼び出したときだけ適用されます。つまりM-xは依然として検索を終了させます。これらのコマンドには、通常の方法でプレフィクス引数を与えることができます。この機能ではカレントマッチが表示されない位置にスクロールすることはできません。

isearch-allow-scrollの機能は、正確にはスクロールではないが、テキストが表示されるスクリーン位置に影響する、C-x 2 (split-window-below)やC-x ^ (enlarge-window)のような、コマンドにも効果を及ぼします。これはコマンド名のisearch-scrollプロパティが非nilのコマンドに適用されます。そのため、どのコマンドが影響を受けるかは、それらのプロパティを変更して制御できます。

たとえば将来のEmacsセッションも含めて、インクリメンタル検索中にC-h lを使えれば便利だと思ったら、まずC-h cで何のコマンドが実行されるか調べて(Key Helpを参照してください)、それがview-lossageだとわかります。その後はinitファイルに以下を追加します(Init Fileを参照してください)。

(put 'view-lossage 'isearch-scroll t)

この機能はポイント、バッファー内容、マッチデータ、カレントバッファーや選択されているウィンドウ・フレームを変更しない任意のコマンドに適用できます。そして、そのコマンド自体がインクリメンタル検索を行ってはなりません。