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についてる「++」がなぜ必要なのかググっても分かりませんでした。
なんだろう。