Vim日本語文字化けの対策

vimエディタのインストール

RockyLinux10をインストールしました。
CUIで使用するテキストエディタはvimを利用するので、下記のコマンドでvim入れてました。

$ sudo dnf install vim-enhanced

だけど、日本語文字を含むファイルを開くと文字化けが発生します

システムのロケール(Locale)を確認

まずは、OS自体の言語設定が 日本語になっていない可能性があるので、ロケールを下記のコマンドで確認しましたが、日本語となっています
日本語以外のC や en_USの場合は、日本語を正しく扱えないことがあります

$ localectl status
System Locale: LANG=ja_JP.UTF-8
    VC Keymap: jp
   X11 Layout: jp
    X11 Model: pc105

日本語以外になっている場合は、以下のコマンドで追加して下さい。設定を反映するのは再ログインが必要ですので、一旦ログアウト、ログインを行って下さい

$ sudo localectl set-locale LANG=ja_JP.UTF-8

日本語フォントとパッケージの確認

Rocky Linuxの最小構成(Minimal Install)でインストールした場合、日本語の処理に必要なパッケージが不足していることがあります。
その場合は以下のコマンドで日本語パッケージをインストールして下さい

$ sudo dnf install langpacks-ja

vimの設定ファイルに日本語のエンコーディングを追加します

上記の設定でも解消されない場合は、vimエディタの設定ファイルに以下のように日本語のエンコーディングを追加します

# 個別のユーザーごとに設定する場合(推奨)
$ vi ~/.vimrc
set encoding=utf-8
set fileencodings=utf-8,euc-jp,sjis,cp932
set fileencoding=utf-8

# 全体のユーザーに設定する場合
$ sudo vi /etc/vimrc
set encoding=utf-8
set fileencodings=utf-8,euc-jp,sjis,cp932
set fileencoding=utf-8

/etc/vimrc を編集すると、そのサーバーを利用するすべてのユーザーに設定が反映されます。
また、OSのアップデート等でこのファイルが上書きされる可能性があります

設定を保存(:wq)した後、新しくVimを起動したタイミングで設定が有効になります。

\ 最新情報をチェック /