デフォルトのEmacs検索では検索するテキストのcase(大文字と小文字)は無視されます。検索対象に‘FOO’を指定すると、‘Foo’や‘foo’もマッチとみなされます。これは正規表現にも適用されます。つまり‘[aB]’は‘a’、‘A’、‘b’、‘B’にもマッチするでしょう。
この機能が望ましくなければ変数case-fold-search
にnil
をセットしてください。その場合にはすべての文字はcaseを含めて正確にマッチしなければなりません。これはバッファーローカル変数です。この変数の変更はカレントバッファーだけに影響を与えます(バッファーローカル変数の概要を参照)。かわりにデフォルト値を変更することもできます。Lispコードではlet
を使用してcase-fold-search
を望む値にバインドするほうが、より一般的でしょう。
ユーザーレベルのインクリメンタル検索機能ではcaseの区別が異なることに注意してください。検索文字列に含まれるのが小文字だけなら検索はcaseを無視しますが、検索文字列に1つ以上の大文字が含まれれば検索はcaseを区別するようになります。しかしLispコード内で使用される検索関数では、これは何も行いません。Incremental Search in The GNU Emacs Manualを参照してください。
このバッファーローカル変数は検索がcaseを無視するべきかどうかを決定する。この変数がnil
なら検索はcaseを無視しない。それ以外(とデフォルト)ではcaseを無視する。
この変数は高レベルの置換関数がcaseを保持するべきかどうかを決定する。この変数がnil
なら、それは置換テキストをそのまま使用することを意味する。非nil
値は置換されるテキストに応じて、置換テキストのcaseを変換することを意味する。
この変数は関数replace-match
の引数として渡すことにより使用される。マッチしたテキストの置換を参照のこと。