シンボル検索は通常の検索とよく似ていますが、検索範囲がシンボルの範囲と一致していなければならない点が異なります。ここでのシンボルの意味はメジャーモードに依存し、通常はEmacs
LispモードにおけるLispシンボルのようなソースコードトークンを指します。例えば、Lispシンボルforward-wordに対してインクリメンタルなシンボル検索を行っても、isearch-forward-wordとは一致しません。したがって、この機能は主にソースコードの検索に有用です。
インクリメンタル検索が有効な場合はシンボル検索モードを切り替え(isearch-toggle-symbol)、そうでない場合はインクリメンタル前方シンボル検索を開始します(isearch-forward-symbol)。
見つかったシンボルを初期状態で検索文字列に追加し、シンボルの前方方向へのインクリメンタル検索を開始します。
symbol を非インクリメンタルに前方検索する。
symbolを非インクリメンタルに後方検索する。
前方インクリメンタル記号検索を開始するには、M-s _(検索対象の記号がポイント付近にある場合はM-s .)と入力します。インクリメンタル検索がまだ有効でない場合、M-s
_はコマンドisearch-forward-symbolを、M-s .はコマンドisearch-forward-symbol-at-pointを実行します。数値のプレフィックス引数nを指定すると、M-s .はポイントにある記号の次の出現箇所をn検索します。nに負の値を指定すると、後方を検索します。インクリメンタル検索がすでに有効な場合、M-s _は検索方向と現在の検索文字列を保持したまま記号検索に切り替わります。再度M-s
_と入力することで、記号検索を無効にできます。インクリメンタル記号検索中、検索文字列を入力している間は、検索文字列の先頭部分が記号の先頭と一致すれば十分であり、C-sのような検索繰り返しキーを使用するまで、検索プロンプトに‘Pending’が表示されます。
非インクリメンタルなシンボル検索を開始するには、前方検索の場合は M-s _ RET を、後方検索の場合は M-s _ C-r RET を入力してください。非インクリメンタルなシンボル検索では、検索文字列の先頭と末尾が、それぞれシンボルの先頭と末尾と一致している必要があります。
記号検索コマンドでは文字の折りたたみは行われず、緩い空白文字マッチングの切り替え(緩い空白文字マッチングを参照)も影響しません。