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


15.9 検索と大文字小文字

Emacsでの検索では、テキストを小文字で指定した場合、通常は検索するテキストの大文字小文字は区別されません。したがって‘foo’を検索すると、‘Foo’や‘foo’もマッチします。regexp、特に文字集合でも同様に振る舞います。つまり‘[ab]’は、‘a’、‘A’、‘b’、‘B’もマッチします。

インクリメンタル検索する文字列のどこかに大文字があると、検索は大文字小文字を区別するようになります。したがって‘Foo’を検索すると、‘foo’や‘FOO’は検索されません。これは正規表現検索でも文字列検索と同様に適用されます。検索文字列から大文字を削除すると、効果はなくなります。

変数case-fold-searchnilをセットすると、すべての文字は大文字小文字を含めて、完全にマッチしなければなりません。これはバッファーごとの変数で、変数の変更はデフォルト値を変えない限り、通常はカレントバッファーだけが影響を受けます。Localsを参照してください。これは置換コマンド(Replaceを参照してください)や、ミニバッファーのヒストリー検索(Minibuffer Historyを参照してください)を処理する、非インクリメンタル検索にも適用されます。

インクリメンタル検索でM-cをタイプすると、検索が大文字小文字を区別するかが、切り替わります。この効果は、現在の検索を超えて次の検索には引き継がれませんが、現在の検索にたいして大文字を追加・削除したときの効果をオーバーライドします.

特定のコマンドや操作にたいする検索やマッチングにおいて、大文字小文字の区別を制御する変数がいくつかあります。たとえばtags-case-fold-searchは、find-tagでの大文字小文字の区別を制御します。これらの変数を探すには、M-x apropos-variable RET case-fold-search RETとタイプしてください。