CentOS の vi で日本語表示が文字化けするのを直す

Docker で centos:7 イメージを動かしている時に、vi で日本語が文字化けしていたので解消法を調べた。

vi に入って

: set enc?

と叩くと、エンコーディングが確認できる。自分の環境では

encoding=latin1

と表示されていた。

もしenc?で「latin1」という値が帰ってきたら、基本的にはファイルを開く際の判別に失敗していると思って良いです。

とにかく UTF-8 とは判断されていないようなので、UTF-8 だと解釈させる必要がある。

ファイルを開いてから表示形式を直すには、

:set encoding=utf-8

と叩けば、その場で文字化け表示されていた日本語が正しく表示されるようになる。

また、この :set encoding=utf-8~/.vimrc に書いておけば、vi の起動時に自動的に反映されるようになる。