taoru's memo

Objective-c,cocos2d,など開発についてのメモ(andoroidも少しだけ)

vimでEUCやShift_JISで書かれたファイルをUTF-8に変換する

最近はもっぱらvim使ってます。

vimのデフォルトエンコードUTF-8にして使っているのですが、
EUC-JPやShift_Jisで書かれたファイルを編集しようとしたら文字化けします。

ついでに改行コードが対応していないくて1行で表示されてしまっているのもの直します。


文字化けしない状態で開き直す

文字化けしているファイルを vim で開いて、

:e ++enc=ファイルのエンコード
と打って元ファイルのエンコードにあわせて開き直します。
エンコードの対応表は以下のとおり

エンコード コマンド用表記
Shift_JIS sjis
EUC-JP euc-jp
UTF-8 utf-8

ファイルのエンコードを書き換える

二行目は改行コードをMAC対応にするためのコマンドです。

:set fenc=utf-8
:set ff=mac

見た目の変化はありませんが、:wqで保存して終了してから開き直すと直っています。


メモ

:e 指定ファイルの読み込み
++enc encodingの指定
fenc fileencodingでも可
ff fileformatでも可

encについてる「++」がなぜ必要なのかググっても分かりませんでした。
なんだろう。

QLOOKアクセス解析