vimの文字化け
概要
windowsで新規作成したファイルを、windows上のvmware(CentOS)でデフォルトのvimで開くと文字化け発生。文字化けを直した記録。
登場人物
encoding(enc) 内部処理に使用するエンコーディング
- 確認 :set enc
fileencoding(fenc) 現在開いているファイルのエンコーディング
- 確認 :set fenc
fileencodings(fencs) ファイルを開く時に適用するエンコーディング(値は複数指定可能)
- 確認 :set fencs
CentOSの.vimrc
文字コードに関する箇所
:set encoding=UTF-8
なぜ文字化けが起きたのか
ファイルの文字コードを確認
:set fenc? fileencoding=latin1
fileencodingsの指定がないので、utf-8になるかと思いきやlatin1でした。ぐぐると、latin1になったときは何かしら文字コードの判別に失敗しているとのことでした。 windowsで新規作成しているファイルなので、文字コードをsjisにしてみる。
エンコードを指定して保存する
:set fenc=sjis
文字コードを指定してファイルを開き直す
:e ++enc=sjis
どうなった
文字化けが直りました。 vimで開く際に正しい文字コード判別するために.vimrcにfileencondingsを追加。 これでどのファイルも正しい文字コードで表示してくれるはず。
:set fileencodings=ucs-bom,iso-2022-jp-3,iso-2022-jp,eucjp-ms,euc-jisx0213,euc-jp,sjis,cp932,utf-8