Vim 文字コードと改行コードの変更

無駄にハマりすぎたのでメモ

現象

仮想Windows環境(SQLServer)で編集したファイルをMacの上でVimにて修正を加えた時の話
問題1 : 日本語が文字化け
問題2 : 編集したところの改行コードが^Mになる

解決方法

全て解消するには順番が大事っぽい

step1. 日本語文字化けの解消

対象のファイルを一度Vimで開き、

:e ++enc=shift_jis
で、文字コードを変更しながら文字化けが解消する適切な文字コードを発見するまでファイルを開きなおす。

見つけた後、

set fileencoding=utf-8
文字コードutf-8に変更。

※注意 この時、文字化けしたままfileencodingを行うと文字化けが解消せずグダグダになる。

これで文字化けが解消。

step2. 改行コードの修正

おそらく、

:set fileformat?
の実行結果が、fileformat=dosであったため、改行が^Mになったのでは無いかぁ?

:set fileformat=unix
とすることで編集しても改行コードが^Mではなくなって一安心