17
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

[Emacs] MacOSでEmacsを使うときは、バックスラッシュにご注意

Last updated at Posted at 2014-03-01

ひどくハマったのでメモ。

状況

Windows, Linuxでは日本語キーボードの円マーク(¥)の刻印のキーを打鍵すると、
バックスラッシュ\、ASCII 0x5cが出てきますが、フォントによって円マークだったりバックスラッシュだったりします。

ですが、日本語キーボードのMacBookでは、円マークの刻印のキーを打鍵すると本当の(?) ¥、つまりUTF8 0xC2 0xA5 YEN SIGNが出てきます。

私はこれでHaskell コンパイラが謎のエラーを吐いてしまい、45分間これで苦しみました。

解決方法

MacOS

Option + ¥ で、0x5cのバックスラッシュが入力できます。

Emacs

Cocoa Emacsでは、通常Option + ¥では/を入力できません。
¥に対するキーアサインをいじって、/を入力するようにします。

(define-key global-map [?¥] [?\\])  ;; ¥の代わりにバックスラッシュを入力する

http://d.hatena.ne.jp/nekotank/20130628/1372411052 より引用)

上記コードをコピペしたときに意図通り動くかどうかは未確認です
念の為、円マークとバックスラッシュはEmacs以外のところでそれぞれ打ち込んでからyankしたほうが安全です。

参考

Mac Emacs backslashでググるとたくさん出てきますが、以下の2サイトが非常に参考になりました。

追記

保存するときにUTF-8にしないと、文字コード変換によって以下のコードの¥がダメになってしまうことがあるみたいです。

(define-key global-map [?¥] [?\\])

なので、上記コードを.emacs.d/init.el等に保存した場合は、C-x RET f utf-8として、バッファのエンコーディングをUTF-8にしたうえで保存するようにしましょう。

C言語のように数値で¥をする方法があればそれがベストなのですが、
とりあえずファイルローカル変数でファイルエンコーディングを指定する方法で回避できそうです。
http://www.gnu.org/software/emacs/manual/html_node/emacs/Specifying-File-Variables.html

誰かいい方法教えてー

17
22
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
17
22

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?