last update 2017年5月25日 9:45

viやvimで日本語が文字化けする場合の対処方法【CentOS 7】

Cent OS 7で vi や vim が文字化けする場合の設定方法について書いておきます。

まず試しに、viの設定を確認してみたところ、

# less /etc/virc

if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
set fileencodings=ucs-bom,utf-8,latin1
endif

という感じで、システムのローケルを参照して fileencodings を設定していたので、vi / vim ではなく、システム全体のローケルを変更しておきます。

以下でローケルを確認。

# localectl status
System Locale: LANG=C
VC Keymap: jp106
X11 Layout: jp

案の定、LANG=C (英語)になっていたので、これを utf8 に設定します。

# localectl set-locale LANG=ja_JP.utf8

以下で確認。

# less /etc/locale.conf

以下で反映です。

# source /etc/locale.conf

これで、vi でも vim でも日本語が文字化けしなくなります。

コメントを記入