シンボル検索(symbol
search)は、通常の検索と似ていますが、検索の境界がシンボルの境界にマッチしていなければなりません。シンボルの意味は、メジャーモードのコンテキストに依存しており、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をタイプします。非インクリメンタル検索では、文字列の先頭と最後が、シンボルの先頭と最後にマッチする必要があります。
シンボル検索コマンドは、character foldingを処理せず、lax whitespace matching(lax space matchingを参照してください)が効果をもたないように切り替えます。