単語検索(word search)は、単語の並びを、その間にある区切り文字の種類とは無関係に検索します。たとえば検索文字列に、1つのスペースで区切られた2つの単語を入力すると、2つの単語を区切るのが、1つまたはそれ以上のスペース、改行文字、およびそれ以外の区切り文字の場合にもマッチします。これはテキスト文書を検索するとき特に有用です。なぜなら検索する単語が改行で区切られているのか、スペースで区切られているのか考慮しなくてもよいからです。プログラミング言語のためのメジャーモード、およびその他の特別なメジャーモード、そのモードの構文的なニーズに適合するように、単語の定義が変更されているかもしれないことに注意してください。
インクリメンタル検索がアクティブのとき、単語検索モードに切り替えます(isearch-toggle-word
)。非アクティブのときは、前方へのインクリメンタルな単語検索を開始します(isearch-forward-word
)。
非インクリメンタルな単語検索を使って、wordsを前方検索します。
非インクリメンタルな単語検索を使って、wordsを後方検索します。
リージョン内のテキストにたいして、Webを検索します。
前方へのインクリメンタルな単語検索を開始するには、M-s
wとタイプします。インクリメンタル検索が非アクティブの場合、これはコマンドisearch-forward-word
を実行します。インクリメンタル検索がすでにアクティブの場合(前方か後方かにかかわらず)、M-s
wは検索の方向と現在の検索文字列は変更せずに、単語検索に切り替えるコマンドisearch-toggle-word
を実行します。単語検索をオフに切り替えるには、再度M-s
wをタイプしてください。
非インクリメンタルな単語検索を開始する場合、前方検索はM-s w RET、後方検索はM-s w C-r
RETをタイプします。これらはコマンドword-search-forward
、またはword-search-backward
を実行します。
インクリメンタルな単語検索と、非インクリメンタルな単語検索では、マッチを見つける方法に若干の違いがあります。非インクリメンタルな単語検索では、検索文字列の各単語は、単語全体に厳密に一致しなければなりません。インクリメンタルな単語検索では、マッチの規則は緩くなります。検索文字列をタイプするとき、最初と最後の単語は、単語全体にマッチする必要はありません。これはタイプする度にマッチを処理するためです。これは(カーソルがある)カレントマッチ以外のマッチ(lazy matches。インクリメンタル検索を参照してください)には適用されません。それらは単語全体がマッチしなければハイライトされません。検索文字列をタイプしている間は、C-sのような検索繰り返しキーを使用するまで、検索プロンプトに‘Pending’が表示されます。
単語検索コマンドは、character foldingを処理せず、lax whitespace matching(lax space matchingを参照してください)が効果をもたないように切り替えます。
リージョン内のテキストにたいしてWebを検索するには、M-s
M-wとタイプします。このコマンドは、変数eww-search-prefix
により指定されたURLの検索エンジンを使用して、リージョン内の単語にたいするインターネット検索を行ないます(EWW in The Emacs Web Wowser
Manualを参照)。リージョンがアクティブでない場合、このコマンドはユーザーに検索するURL、またはキーワードの入力を求めます。
RFC
2229で定義されているDICTプロトコル経由で辞書サーバーに問い合わせて、単語の定義を検索することもできます。Emacsにはこのプロトコル用のクライアントが含まれています。M-x dictionary-search RETとタイプしてDICTサーバーに接続してから、利用できる単語の定義を提供しているか尋ねます。このコマンドは検索する単語の入力を求めて(デフォルトはポイント位置にある単語)、1つ以上の辞書にあるその単語の定義を提供するようDICTサーバーに求めます。このコマンドはデフォルトではまずローカルホストにインストールされているDICTサーバーへの接続を試み、それに失敗すると同意を求めてからdict.orgへの接続を試みます。使用するサーバーは変数dictionary-server
にURL(文字列)を指定してカスタマイズできます(問い合わせにローカルサーバーだけを指定したければ‘localhost’を使えばよい)。dictionary-search
は通常だとそのサーバーで利用可能なすべての辞書で単語を検索するようサーバーに指示しますが、プレフィックス引数とともにコマンドを呼び出せば、使用する1つの辞書の入力を求めます。サーバーで利用可能な辞書のリストは、以下で述べるように*Dictionary*バッファーに表示されている‘Select
dictionary’ボタンを押下して表示できます。
最初にdictionary-search
を使う際には、新たに*Dictionary*バッファーを作成して、特別なモードをオンにします。このバッファーには辞書を選択するボタンや、他の単語の定義を検索するボタン等が表示されています。それ以降のdictionary-search
コマンドでは、このバッファーが再利用されます。このようなバッファーを他に作成する場合には(たとえば別の単語を別の辞書で検索したい場合など)、M-x dictionary RETとタイプしてください。
あるバッファーにおいてdictionary-tooltip-mode
をオンにすれば、Emacsがマウスポインター位置にある単語の定義を検索して、ツールチップにそれらの定義を表示します。これは意味が不明な単語が多いテキストを読む際に便利でしょう。
dictionary-searchの他のオプションについては、カスタマイゼーショングループdictionary
を参照してください(カスタマイゼーショングループについては特定のアイテムのカスタマイズを参照)。