Macでバックスラッシュを入力する

「 \ 」と「 ¥ 」

コンピュータで扱う(いわゆる半角の)文字の標準としてASCII(アスキー)と(いわゆる) JIS カナがあります。内容的にはほぼ同一なのですが、ASCIIでの「 \ (バックスラッシュ)」記号の文字コードに、JIS カナでは「 ¥ (円記号)」が割り当てられました。つまり \ と ¥ は見かけは異なるとしてもコンピュータ内部では同じ数値で表現されています。「 \ 」記号は Python などプログラミング関連のドキュメントなどでよく登場するので、なんとかして「 \ 」を入力する必要があります。

日本語キーボードでの \ の入力

幸いなことに日本語キーボードのMacでは、option キーを押しながら「 ¥ 」キーを押せば「 \ 」が入力されるようになっています。それで良い、という人はいいのですが、しかし頻繁に使う文字に対して毎回optionキーを押すのも面倒くさいでしょう。そのような人は以下に示す方法で「 ¥ 」をタイプすると「 \ 」を入力するように設定変更すると良いです。(なお US 配列のキーボードには「 \ 」キーがあり、この設定は必要ありません)

step 1.

「システム環境設定」の「キーボード」の項目中の「入力ソース」の設定(「編集…」ボタン)をクリックしてください。

image-20240311210018418

step 2.

すると以下のような表示になりますから、まずここの「英字」にチェックを付けて下さい。

image-20240311210327072

そのまま下にスクロールして「 “¥” キーで入力する文字」を「 \(バックスラッシュ)」にして下さい。

image-20240311211347754

step 3.

次に「ABC」入力ソース(英語入力モード)を削除します。画面左の「ABC」を選択して、画面左下の「 + − 」の「 − 」をクリックして下さい。すると「ABC」入力ソースが消えます。そのあとで画面右下の「完了」をクリックして下さい。

image-20240311211438428

これで「 ¥ 」をタイプすると「 \ 」が入力されるようになるはずです。

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

参考:(ちょっとややこしい)事情説明

多くのプログラミング言語は歴史的経緯もあって ASCII 文字を扱うことを前提としており、Python もそれにならっています。日本のコンピュータ環境は(これも歴史的経緯で)ASCII をそのまま使わず JIS X 0201 (いわゆる半角カナ)を使うようにしました。ASCII と JIS X 0201 はほぼ同じなので「大抵は」問題ないのですが、ASCII では「 \ (バックスラッシュ)」を割り当てた文字コード( 0x5C )に、JIS X 0201 では「 ¥ (円記号)」を割り当てています。

そして困ったことにプログラミング言語では「 \ 」文字はよく使われます。Python でも print( ) 関数などでは「 \ 」文字が頻繁に登場します。すると誰かが書いたプログラムを日本語環境で見た時に「 \ 」が「 ¥ 」として表示されたりします。この程度ならユーザが脳内変換して読めば良いのですが、Macを含め多くのシステムがUnicodeを使うようになって問題が大きくなりました。

つまり Unicodeでは「 ¥ 」と「 \ 」は別物として区別されているため、print( ) の改行文字などに「 ¥n 」と書いても「 \n 」とは見なされず、改行してくれません(画面上に円記号とnがそのまま表示される)。こうなるともう、なんとかして Unicode のシステムに「 \ 」を( \ がキー配置に無いキーボードから)打ち込んでやらないといけないわけです。

繰り返しになりますが、\ と ¥ がややこしいことになっているのは ASCII と JIS X 0201 (いわゆる)半角文字での話で、全角の「 \ 」と「 ¥ 」は完全に別の文字となっています。