Emacs でファイルの文字コードを変換するときの覚書

もうさすがに忘れないだろーとは思っているものの
以前もそんな風に思っていてしばらくしたらあやふやになっていたので
記憶に定着されることを祈りつつちゃんと書いておく。

基本

以下の2つを覚えておけばまず大丈夫。

  • 文字化けしてるとき (UTF-8 のファイルなのに SJIS で開いちゃったとき)
  • 文字化けしてないとき (SJIS のファイルを UTF-8 で保存したいとき)


間違って上記の2つをあべこべに使うと厄介なことになるので注意。
僕を含め、「Emacs でファイルが文字化けしておかしくなった!」って人は
大体文字化けしている状態で「C-x RET f」で保存しちゃってハマることが多い気がする。
文字化けしちゃってるときは「C-x RET r」だよ!


ちなみにこの「r」は「revert (戻る、復帰する)」の頭文字みたいなんだけど
僕は「reread (再読する、読み直す)」と覚えている。
理由は、「文字化けしちゃってるから正しいので読み直そう」っていう方が覚えやすいから。

応用


「-*- coding: utf-8 -*-」は Ruby1.9 の話で見かけたなぁとか思っていたけど
これは Emacs が元らしい。
Ruby を使うことが多い場合は 1.9 のことを見越して
行頭 (といっても shebang の次) に
「# -*- coding: utf-8 -*-」を入れておくようにするのがいいかも。


dired で「T」は日記に書いていたにも関わらず
その存在をすっかり忘れてしまう程に全くもって使っていなかった。
でもこれすげー便利だった!
僕はファイルの移動をするときにシェルから cp を使わずに
dired を開いて「C」するくらい dired ばかり使っているので
dired で文字コードの変換も一括でできちゃうとか素敵すぎです。