Vimで文字コードや改行コードを直す


変換して保存(破壊的)

変換したい文字コードを指定する。UTF-8に変換したければ utf-8 を指定。

:set fenc=[utf-8|sjis|euc-jp]
:set ff=[dos|mac|unix]
:wq

# 例
:set fenc=sjis ff=dos

変換して開く(非破壊的)

実際のファイルの文字コードを指定する。

:e ++enc=[utf-8|sjis|euc-jp]
:e ++ff=[dos|mac|unix]

// 両方指定するときは一回で指定
:e ++enc=utf-8 ++ff=mac

ちなみに fffileformatfencfileencoding の略です。

追記

コメント頂きました。ありがとうございます。

:e ++enc=xxx で変換できない文字はデフォルトだと ? になるため、これを避けるためには :e ++enc=xxx ++bad=keep とします。

おまけ: 現在の文字コード・改行コードを確認

:echo &fenc
:echo &ff

:set statusline%{&fenc} %{&ff} を含めてあげるとステータスラインに常に表示させることもできます。