前のサブセクションで説明した文字に加えて、インクリメンタル検索のときにタイプする文字列の中には、特別な効果をもつものがあります。ここではそれらについて説明します。
lax space matching(「だらしない、ゆるんだ、緩慢な、締まりのない」スペースのマッチング。lax space matchingを参照してください)を切り替えるには、M-s SPCとタイプします。
検索でcase sensitivity(大文字小文字を区別するか)を切り替えるには、M-cまたはM-s cとタイプします。case foldingを参照してください。検索文字列が大文字を含む場合、デフォルトではその検索はcase-sensitive(大文字小文字を区別)します。
検索が似ている文字、または等価な文字を考慮するかどうかを切り替えるには、M-s 'とタイプします。character foldingを参照してください。検索文字列にアクセント付きの文字が含まれる場合、その検索の間、character foldingは無効になります。
オーバーレイによって不可視になっているテキストを検索するかどうかを切り替えるにはM-s i
(isearch-toggle-invisible
)をタイプします。Outline Searchを参照してください。すべてのインクリメンタル検索において、テキストプロパティやオーバーレイプロパティのために不可視になっているテキストにたいするマッチを見つけるようにするには、search-invisible
の値をt
にカスタマイズしてください。
インクリメンタル検索で、非正規表現による検索と、正規表現による検索を切り替えるには、M-r、またはM-s r
(isearch-toggle-regexp
)とタイプします。正規表現検索を参照してください。
シンボルモードを切り替えるには、M-s _とタイプします。シンボル検索を参照してください。
改行文字を検索するには、検索文字列の途中でC-jとタイプします。
インクリメンタル検索の間に非ASCII文字を検索するには、以下の方法のいずれかを使用してください:
isearch-quote-char
)に続けて、非グラフィック文字か8進数字をタイプします。これはC-qを使ってバッファーに文字を挿入するのと同様に、検索文字列にタイプする文字を追加します(テキストの挿入を参照してください)。たとえばインクリメンタル検索でC-q
C-sをタイプすると、検索文字列に文字‘control-S’が追加されます。
isearch-toggle-input-method
)で、入力メソッドを切り替えることができます。非デフォルトの入力メソッドに切り替えるには、C-^
(isearch-toggle-specified-input-method
)を使います。これは入力メソッドの名前を尋ねます。インクリメンタル検索で入力メソッドがアクティブのとき、検索プロンプトには以下のようなニーモニックが含まれます。
I-search [im]:
ここでimはアクティブな入力メソッドのニーモニックです。インクリメンタル検索の間に有効にした入力メソッドは、その後もカレントバッファーで有効のままです。最後に検索文字列に入力メソッドを使用して1文字を挿入してから、その後自動的に入力メソッドを無効にするために、C-x
\
(isearch-transient-input-method
)で一時的に一時入力メソッドを有効にできます(transient input methodを参照)。
isearch-char-by-name
)に続けて、Unicode名か16進のコードポイントをタイプします。これは通常のinsert-char
コマンドと同様に、検索文字列に指定した文字を追加します(テキストの挿入を参照してください)。
サーチリングにはEmojiシーケンス(絵文字シーケンス)を含めることもできます。C-x 8 e RETの後にEmojiのUnicode名(たとえばsmiling faceやheart with
arrow)をタイプしてください。これによって指定されたEmojiがサーチリングに追加されます。検索したいemojiの名前が判らなければC-x
8 e l (emoji-list
)とC-x 8 e d
(emoji-describe
)を使うことができます(インプットメソッドを参照)。
インクリメンタル検索の中でM-s
oとタイプすることにより、カレントの検索文字列でoccur
を実行する、isearch-occur
が呼び出されます。occurを参照してください。
インクリメンタル検索でM-%
(isearch-query-replace
)をタイプすると、query-replace
またはquery-replace-regexp
が呼び出され(検索モードに依存します)、現在の検索文字が置換対象になります。負のプレフィクス引数は、後方への置換を意味します。問い合わせつき置換を参照してください。C-M-%
(isearch-query-replace-regexp
)とタイプすることにより、カレント検索文字列を置換すべき正規表現としてquery-replace-regexp
が呼び出されます。
インクリメンタル検索でM-TABをタイプすると、isearch-complete
が呼び出され、サーチリング(以前に使用された検索文字列)を補完リストとして使って、検索文字列の補完を試みます。補完を参照してください。多くのオペレーティングシステムでは、キーシーケンスM-TABはウィンドウマネージャーに捕えられます。その場合、これを使うにはisearch-complete
を、他のキーシーケンスに再バインドする必要があります(対話的なキーバインディングの変更を参照してください)。
M-s h r
(isearch-highlight-regexp
)とタイプすればマッチをハイライトしたまま検索をexitできます。これはハイライトに使用するフェイスの入力を求めるhighlight-regexp
(インタラクティブなハイライトを参照)に、検索文字列から継承したregexpをに渡して実行します。(マッチだけではなく)マッチを含む行全体をハイライトするには、M-s
h l
(isearch-highlight-lines-matching-regexp
)とタイプします。いずれの場合でも、ハイライトを除去するにはM-s
h u (unhighlight-regexp
)とタイプしてください。
インクリメンタル検索がアクティブのとき、C-h C-h
(isearch-help-map
)とタイプすると、特別なキーバインドのリストを含む、対話的なヘルプにアクセスできます。これらのキーバインドは、キーマップisearch-mode-map
の一部です(キーマップを参照してください)。
インクリメンタル検索がアクティブな際にM-s M->とタイプすると検索文字列の最後の出現位置、M-s M-<とタイプすると最初の出現位置に移動します。プレフィクス数引数nを与えると、これらのコマンドはそれぞれバッファーの先頭または最後から数えてn個目の検索文字列の出現位置へ移動します。