Next: Search Customizations, Previous: Replace, Up: Search [Contents][Index]
ここでは正規表現にたいするマッチを検索する、その他のコマンドを説明します。これらのコマンドは、パターンに大文字が含まれていないカ、case-fold-search
が非nil
のときは、マッチングで大文字小文字を区別しません。常にバッファー全体を検索するmulti-occur
とmulti-occur-in-matching-buffers
をのぞき、これらはすべて、ポイント位置からバッファーの最後まで、リージョンがアクティブなときはそのリージョンにたいして処理を行います。
1つ以上のバッファー名の入力を求め(RETで終了)、それらのバッファーにたいして複数バッファーのインクリメンタル検索を開始します(あるバッファーでの検索に失敗すると、次のC-sにより、指定された次のバッファーへと検索を試みます)。プレフィクス引数を指定すると、regexpの入力を求め、regexpにマッチするバッファーにたいして、複数バッファーでのインクリメンタル検索を開始します。
このコマンドはmulti-isearch-buffers
と同様ですが、インクリメンタルなregexp検索を行います。
1つ以上のファイル名の入力を求め(RETで終了)、それらのファイルにたいして複数ファイルのインクリメンタル検索を開始します(あるファイルで検索に失敗すると、次のC-sにより、指定された次のファイルへと検索を試みます)。プレフィクス引数を指定すると、regexpの入力を求め、regexpにマッチするファイルにたいして、複数ファイルでのインクリメンタル検索を開始します。
このコマンドはmulti-isearch-files
と同様ですが、インクリメンタルなregexp検索を行います。
バッファーローカルな変数multi-isearch-next-buffer-function
をセットするいくつかのモード(たとえばChange
Logモード)では、複数ファイルにたいするインクリメンタル検索は自動的にアクティブになります。
regexpの入力を求め、それへのマッチを含むバッファー内の各行をリスト表示します。プロンプトでM-nをタイプした場合は、前のインクリメンタル検索から検索文字列を再利用できます。マッチするテキストは、match
フェイスを使用してハイライトされます。数引数nを指定すると、そのコンテキストでマッチした各行の、前後n行を表示します。
コンテキスト行のデフォルト行数は、変数list-matching-lines-default-context-lines
により指定されます。list-matching-lines-jump-to-current-line
が非nil
のとき、カレント行はフェイスlist-matching-lines-current-line-face
でハイライト表示され、ポイントはその行の最初のマッチの後にセットされます。
インクリメンタル検索がアクティブのときはM-s oを実行して、カレントのサーチリングを使うこともできます。
あなたがタイプしたregexpにたいするマッチは完全な行を含むように拡張され、1つ前のマッチの終了の前から開始するマッチは考慮されないことに注意してください。
*Occur*バッファーでは、エントリーをクリックするか、ポイントをそこに移動してRETをタイプすることにより、検索されたバッファーの対応する位置をvisitします。oとC-oはマッチを他のウィンドウに表示します(C-oはそのウィンドウを選択しません)。かわりにC-x
` (next-error
)コマンドを使うことにより、マッチした場所を1つ1つvisitできます(Compilation Modeを参照してください)。
*Occur*バッファーでeをタイプすることにより、Occur Editモードに切り替えます。このモードではエントリーにたいする編集結果が、元のバッファーのテキストに適用されます。C-c C-cとタイプすることにより、Occurモードに戻ります。
コマンドM-x list-matching-linesは、M-x occurの別名です。
このコマンドはoccur
と同じですが、複数のバッファーを検索する点が異なります。このコマンドは、1つずつバッファー名の入力を求めます。
このコマンドはmulti-occur
と似ていますが、visitしているファイル名にマッチする正規表現を指定することにより、検索するバッファーを指定する点が異なります。プレフィクス引数を指定すると、正規表現にマッチするバッファー名となります。
regexpの入力を求め、バッファーのポイント位置以降に、何個のマッチがあるか表示します。リージョンがアクティブのときは、リージョンにたいして操作を行います。
regexpの入力を求め、ポイント以降にあるテキストにたいして、マッチが含まれている行を削除します。カレント行のポイント以降にマッチする文字列が含まれているときは、カレント行を削除します。リージョンがアクティブのときは、リージョンにたいして操作を行います。行の一部ににリージョンが含まれていて、さらにマッチの全体がリージョンに含まれているとき、その行は削除されます。
マッチが行をまたいでいる場合、flush-lines
はそれらの行すべてを削除します。このコマンドは行を削除してから、次のマッチを検索します。したがって、1行にマッチ全体と、次の行にまたがるマッチが両方含まれるとき、次の行にまたがるマッチは無視されます。
regexpの入力を求め、ポイント以降にあるテキストにたいして、マッチを含まない行を削除します。ポイントが行の先頭でない場合、このコマンドは常にカレント行を維持します。リージョンがアクティブのときは、リージョンにたいして操作を行います。このコマンドは一部がリージョンに含まれるだけの行は削除しません(行を終端する改行は、その行の一部と判断します)。
マッチが行をまたぐ場合、このコマンドはそれらすべての行を維持します。