VimでShift_JISのファイルをUTF-8に変換

vimでShift_JISのファイルをUTF-8に変換

以前、nkfでShift_JISのファイルをUTF-8に変換という記事を書きましたが、nkfが入ってない環境で文字コードを扱いたくなる場合もあるかもしれません。 そんな時 vim で文字コードを変更できます。

Shift_JISのファイル hoge.txtを、UTF-8にしようと思います。 まずvimでhoge.txtを開きます。

$ vim hoge.txt

多分なんか文字化けしてると思います(:e set enc? でvimの文字コードを確認できますが、多分Shift-JISでは無いので文字化けしてるはず)

vimのコマンドモード(Esc でコマンドモードになれます)で、以下のコマンドをうつとutf-8で保存できます。

:set fenc?
# ファイルの文字コードを確認する
# Shift_JISの場合はfileencoding=latin1
:e ++enc=shift-jis
# shift-jisでファイルを開き直す
:set fenc=utf-8
# 文字コードをutf-8に変更する
:wq
# 上書き保存してvimを終了する