Previous: Other Repeating Search, Up: Search [Contents][Index]
このセクションでは、他では説明されていない、その他の検索に関連した機能を説明します。
インクリメンタル検索にたいするデフォルトの検索モードは、変数search-default-mode
により指定されます。この変数には、nil
、t
、または関数を指定できます。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-highlight
をnil
にセットすることにより、このハイライトを無効にできます。
ディスプレーに表示されている、検索文字列にたいするその他のマッチは、lazy-highlight
フェイスを使用してハイライトされます。変数isearch-lazy-highlight
をセットして、このハイライトを無効にできます。以下はlazy-highlightをカスタマイズする、その他の変数です:
lazy-highlight-initial-delay
表示されているマッチをハイライトするまでwaitする秒数です。
lazy-highlight-interval
マッチをハイライトする秒数です。
lazy-highlight-max-at-a-time
入力をチェックする前にハイライトする、マッチの最大数です。大きな数を指定するとハイライトに時間を要するかもしれず、その間に検索を継続するためにC-sやC-rをタイプしても、それらすべてのマッチのハイライトを終了するまで、Emacsは反応しないでしょう。したがって小さな数を指定することにより、Emacsの反応を改善できます。
isearch-lazy-count
検索プロンプトにカレントマッチ数とマッチ総数を表示します。
lazy-count-prefix-format
lazy-count-suffix-format
これらの2つの変数はisearch-lazy-count
の表示にたいするカレントマッチ数とマッチ総数のフォーマットを決定します。
インクリメンタル検索で検索文字列が空のときにRETを入力すると、通常これは非インクリメンタル検索を開始します(実際には、これにより検索文字列の編集が開始され、次のRETで検索を行ないます)。しかし、変数search-nonincremental-instead
をnil
にセットした場合、検索文字列が空でも、RETのタイプは常にインクリメンタル検索をexitします。
デフォルトではインクリメンタル検索および問い合わせ付き置換コマンドは不可視のテキストにもマッチしますが、そのようなマッチは隠され、不可視のテキストの外にできるだけ早くカレントマッチを移動させます。変数isearch-hide-immediately
をnil
にカスタマイズした場合、マッチが見つかった任意の不可視テキストは、検索または置換コマンドがexitするまで表示され続けます。
遅い回線で接続されたリモートマシンのディスプレーなど、遅い端末でインクリメンタルな検索をすると、検索によりディスプレーの大きな範囲を再描画しなければならないことが、煩わしくなるかもしれません。Emacsは、遅い端末にたいして特別なディスプレーモードを提供します。これは検索が別の小さなウィンドウをポップアップして、マッチの周辺テキストをそのウィンドウに表示します。小さいウィンドウは早く表示できるので、遅いスピードの影響による煩わしさは軽減されます。変数search-slow-speed
は、Emacsがこのディスプレーモードを使用する、ボーレートの下限値を決定します。変数search-slow-window-lines
は、Emacsがポップアップして検索結果を表示するウィンドウの行数を制御します(デフォルトは1)。このウィンドウは通常、検索を開始したバッファーを表示するウィンドウの下部にポップアップされますが、search-slow-window-lines
の値が負の場合、ウィンドウは上部に配され、search-slow-window-lines
の絶対値が表示される行数になります。