2010-09-07

Mac における円とバックスラッシュ

非 Mac 環境から Mac 環境へ移ると、いろんな差異が発生しますね。
Emacs で正規表現を書いていたところ、なぜかエスケープシーケンスがちっとも効かない。

/(.+)[¥s]+(.+)/ # 実際はすべて半角

こんなシンプルな抽出なのにちっとも機能しない。どういうことだと色々悩んでいたところに、1つの疑惑が。

「ひょっとすると円とバックスラッシュは別コードで示される文字なのでは。」

別所(ターミナル)ではそのまま表示されているバックスラッシュをコピーして Emacs に持ってきたところ、しっかりと画面上にはバックスラッシュが掲載される。そのまま正規表現に利用すると見事マッチ。

で、改めて調べたところ、Mac の日本語キーボードでは以下のような入力になるとのこと。

  • 円は「¥」キー
  • バックスラッシュは Option +「¥」

Windows, Linux で今まで当たり前のように使っていた「エスケープ等に利用するためのバックスラッシュ」は円とイコールの扱いだったし、キー入力も¥キー1つでOKだった。それが Mac ではこの違い。そして何が驚いたって、これが Mac ユーザには「バックスラッシュは Option +¥ で入力すべき文字」ということが当然のことだったという。

「じゃあ円(¥)は何に使うの?」と聞くと、「少なくともコードには必要ない」ということだったので、既に導入済みのキーボードカスタマイズソフト KeyRemap4MacBook で¥キーでバックスラッシュが入力されるように変更したのでした。Windows の窓使いの憂鬱並に、既にマストソフトウェアです。