Next: , Previous: , Up: Search   [Contents][Index]


15.4 シンボル検索

シンボル検索(symbol search)は、通常の検索と似ていますが、検索の境界がシンボルの境界にマッチしていなければなりません。シンボルの意味は、メジャーモードのコンテキストに依存しており、Emacs LispモードでのLispシンボルのように、通常はソースコードのトークンを参照します。たとえばLispシンボルforward-wordをインクリメンタルなシンボル検索すると、これはisearch-forward-wordにはマッチしません。そのため、この機能は主にソースコードの検索に有用です。

M-s _

インクリメンタル検索がアクティブのとき、シンボル検索モードに切り替えます(isearch-toggle-symbol)。非アクティブのときは、前方へのインクリメンタルなシンボル検索を開始します(isearch-forward-symbol)。

M-s .

ポイントの近くにあるシンボルを、検索文字列の初期値に追加して、前方へのインクリメンタルなシンボル検索を開始します。

M-s _ RET symbol RET

symbolにたいして、前方への非インクリメンタルな検索をします。

M-s _ C-r RET symbol RET

symbolにたいして、後方への非インクリメンタルな検索をします。

前方へのインクリメンタルなシンボル検索を開始するには、M-s _ (ポイントの近くにシンボルがあるときはM-s .)をタイプします。インクリメンタル検索がまだアクティブでなければM-s _はコマンドisearch-forward-symbolM-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を参照してください)が効果をもたないように切り替えます。