Macでバックスラッシュを入力するための設定

文字コードの説明で¥(円記号)と\(バックスラッシュ)はコンピュータ内部では同じ文字として扱われるという話をしました。歴史的には、ASCIIコードを国際化対応するときに、日本の規格(JIS X 0201)では\の割り当ててある0x5Cを¥としたからです。なお、現在のUnicodeではどちらの文字も別の文字コードに割り当てて収録されているから話がややこしくなります。

C言語はASCII文字を扱うことを前提としていたので、printf関数などで指定するエスケープシーケンスは\を使っていましたが、日本語環境では\が¥として表示されるだけのことであって、\の代わりに¥を使っておけば良かったのです。

しかし、上述のとおり、Macを含め多くのOSでは現在ではUnicodeが標準であるため、¥と\は別物として区別されています。そのため、例えばVS Codeでプログラムを書くときに、printfの書式指定子に¥nと書いても\nとは見なしてくれないということが起こります。

さて、日本語キーボードのMacで、¥キーで\を入力するためには、optionキーを押しながら¥キーを押せばよいのですが、毎回optionキーを押すのも面倒くさいですよね。

「システム環境設定」の「キーボード」の項目中の「入力ソース」の設定で、「"¥"キーで入力する文字」を「\(バックスラッシュ)」にしておくと¥キーを押すだけで\が入力できるのですが、

この設定は「日本語」の入力モードを使っている時にのみ有効なようで、英語の入力モードの時には適用されないようです。さらに話がややこしいことに、現在のMacのキーボードの「英数」キーを押すと、英語入力モード(「ABC」と書いてあるもの)に切り替わるので、¥キーの設定が効かないようです。ターミナルなど、ソフトウェアによっては\として扱ってくれるようなのですが。

この問題を解消するためには、「ABC」の入力モードを削除して、英数キーを押した時には「日本語」入力モードで英字を入力するように設定を変更する必要があります。

手順は次のとおりです。

  1. 日本語入力の入力モードの「英字」を有効にする。
    「システム環境設定」の「キーボード」の「入力ソース」中の「入力モード」で「英字」にチェックを入れる。
  2. 「ABC」を削除する。
    「ABC」を選択し、左下にある「-」ボタンをクリックする。

先に日本語入力モードの「英字」を有効にしておかないと「ABC」は削除できないようです。英語を入力できなくなってしまうからでしょうかね。