MacのSublimeText2で¥nが認識されない
SublimeでCソースをコンパイルしたら改行しない。
Sublime Text 2を使い始めてしばらくになります。
このところずっとJavaを弄ってたこともあり、CをSublimeで書くのは動作確認以来。
アルゴリズムの勉強の時も、大学のPCのvi+terminalで編集コンパイル実行としてしまうので、Sublimeの出番はありませんでした。
ただ、今回アルゴリズムの例題の件でちょっとしたCのプログラムの挙動を確認したく(要はCを復習中)、Sublime上でコンパイル+実行を行いました。
するとprintf中の改行子¥nに対して、実行結果がうまく改行として反映されておらず、そのまま文字列として出力されてしまいます。
これでは出力結果が見にくいことこの上ない!
原因はMacの方らしい
そんなわけで調べてみると、Sublimeの話ではなくどうやらこれはMacの方が影響しているらしい。
そもそもMac上では「¥」と「\」は区別されるらしい。
したがって、Mac上でエスケープシークエンスを使いたい場合には、改行にかぎらず「¥」ではなく「\」を使わなければならないようです。
ちなみに、Mac上での「\」の打ち方ですが「⌥(Option)+¥」で打てます。
なんでこんなことになってるかはわからないです。
些細な事ですが、調べてみるとエディタ依存ではなく他の言語など(PHP等)でも同様の現象が起こるようです。
そもそも、この日本語における「¥」と「\」の問題はASCIIコードの「\」がJISの「¥」に対応していたために起こったことらしいのですが、結局なんでMacだけがこの2つを区別するようになっているかはわかりません。
ちなみに、これはMacBookProの方の話で、自宅のMacminiの方はUS規格のキーボードを使ってるからか、普通に「\」打ててました。むしろ「¥」の打ち方がわからん。
参考