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


15.12 必要に応じて検索を調整する

このセクションでは、他では説明されていない、その他の検索に関連した機能を説明します。

インクリメンタル検索にたいするデフォルトの検索モードは、変数search-default-modeにより指定されます。この変数には、nilt、または関数を指定できます。nilの場合、デフォルトのモードはcharacter foldingなしのリテラル検索です。しかし、case foldingにたいしてはcase-fold-search、lax-whitespace matchにたいしてはsearch-whitespace-regexpにより決定されます(Lax Searchを参照してください)。値がtの場合、インクリメンタル検索のデフォルトはregexp検索になります。デフォルト値には、case foldingとlax-whitespace matchingだけを行なう関数が指定されています。

継続的なインクリメンタル検索でのカレントマッチは、isearchフェイスでハイライトされます。変数search-highlightnilにセットすることにより、このハイライトを無効にできます。

ディスプレーに表示されている、検索文字列にたいするその他のマッチは、lazy-highlightフェイスを使用してハイライトされます。変数isearch-lazy-highlightをセットして、このハイライトを無効にできます。以下はlazy-highlightをカスタマイズする、その他の変数です:

lazy-highlight-initial-delay

表示されているマッチをハイライトするまでwaitする秒数です。

lazy-highlight-interval

マッチをハイライトする秒数です。

lazy-highlight-max-at-a-time

入力をチェックする前にハイライトする、マッチの最大数です。大きな数を指定するとハイライトに時間を要するかもしれず、その間に検索を継続するためにC-sC-rをタイプしても、それらすべてのマッチのハイライトを終了するまで、Emacsは反応しないでしょう。したがって小さな数を指定することにより、Emacsの反応を改善できます。

isearch-lazy-count

検索プロンプトにカレントマッチ数とマッチ総数を表示します。

lazy-count-prefix-format
lazy-count-suffix-format

これらの2つの変数はisearch-lazy-countの表示にたいするカレントマッチ数とマッチ総数のフォーマットを決定します。

インクリメンタル検索で検索文字列が空のときにRETを入力すると、通常これは非インクリメンタル検索を開始します(実際には、これにより検索文字列の編集が開始され、次のRETで検索を行ないます)。しかし、変数search-nonincremental-insteadnilにセットした場合、検索文字列が空でも、RETのタイプは常にインクリメンタル検索をexitします。

デフォルトではインクリメンタル検索および問い合わせ付き置換コマンドは不可視のテキストにもマッチしますが、そのようなマッチは隠され、不可視のテキストの外にできるだけ早くカレントマッチを移動させます。変数isearch-hide-immediatelynilにカスタマイズした場合、マッチが見つかった任意の不可視テキストは、検索または置換コマンドがexitするまで表示され続けます。

遅い回線で接続されたリモートマシンのディスプレーなど、遅い端末でインクリメンタルな検索をすると、検索によりディスプレーの大きな範囲を再描画しなければならないことが、煩わしくなるかもしれません。Emacsは、遅い端末にたいして特別なディスプレーモードを提供します。これは検索が別の小さなウィンドウをポップアップして、マッチの周辺テキストをそのウィンドウに表示します。小さいウィンドウは早く表示できるので、遅いスピードの影響による煩わしさは軽減されます。変数search-slow-speedは、Emacsがこのディスプレーモードを使用する、ボーレートの下限値を決定します。変数search-slow-window-linesは、Emacsがポップアップして検索結果を表示するウィンドウの行数を制御します(デフォルトは1)。このウィンドウは通常、検索を開始したバッファーを表示するウィンドウの下部にポップアップされますが、search-slow-window-linesの値が負の場合、ウィンドウは上部に配され、search-slow-window-linesの絶対値が表示される行数になります。