前述のサブセクションで説明した文字に加え、インクリメンタルサーチ中に入力するその他の文字の中には、特殊な効果を持つものがあります。それらについてここで説明します。
緩いスペースマッチング(緩いスペースマッチングを参照)を切り替えるには、M-s SPC と入力します。
検索の大文字・小文字の区別を切り替えるには、M-c または M-s c と入力してください。ケースフォールディングを参照してください。検索文字列に大文字が含まれている場合、デフォルトでは大文字・小文字を区別して検索されます。
類似文字や等価文字を一致とみなすかどうかを切り替えるには、M-s ' と入力してください。文字フォールディングを参照してください。検索文字列にアクセント付き文字が含まれている場合、その検索中は文字フォールディングが無効になります。
オーバーレイによって非表示になったテキストを検索対象にするかどうかを切り替えるには、M-s i
(isearch-toggle-invisible) と入力してください。アウトライン検索を参照してください。テキストプロパティやオーバーレイプロパティに関わらず、すべてのインクリメンタル検索で非表示テキスト内の一致箇所を検索するようにするには、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
はアクティブな入力メソッドのニーモニックです。インクリメンタル検索中に有効にした入力メソッドは、その後も現在のバッファで有効なままとなります。最後に、C-x \ (isearch-transient-input-method) で一過性の入力メソッド(一過性入力メソッド
を参照)を一時的に有効にすると、入力メソッドを用いて検索文字列に1文字を挿入でき、その後自動的にその入力メソッドが無効になります。
isearch-char-by-name)
に続き、Unicode名または16進数のコードポイントを指定します。これにより、通常の insert-char コマンドと同様に、指定した文字が検索文字列に追加されます(テキストの挿入 を参照)。
検索文字列に絵文字シーケンスを含めることもできます。C-x 8 e RET (isearch-emoji-by-name) と入力し、続けて絵文字のUnicode名(例:smiling face や heart with
arrow)を入力してください。これにより、指定した絵文字が検索文字列に追加されます。検索したい絵文字の名前がわからない場合は、C-x 8 e l (emoji-list) や C-x 8 e d (emoji-describe)
を使用できます(入力方法を参照してください)。
インクリメンタル検索で M-s o と入力すると isearch-occur が呼び出され、現在の検索文字列を用いて 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)
と入力すると、マッチ箇所をハイライトしたまま検索を終了できます。これにより highlight-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 番目の検索文字列の出現箇所へ移動します。