【Linux】viコマンド(vim)で開いたファイルが文字化けした場合の対処法

【Linux】viコマンド(vim)で開いたファイルが文字化けした場合の対処法

vimで開いたファイルが文字化けしていた場合は「:set encoding」で文字コードを変更します。恒久的な対応は、vimrcファイルに「set encoding」設定を追加します。

vimで開いたファイルが、文字化けした際の対処法を紹介します。
ファイルが文字化けした場合は、:set encoding=[文字コード]を指定して開きなおします。
恒久的に対応する場合は、vimの設定ファイルを編集し、デフォルトの文字コードを変更する必要があります。

確認した環境

Debian 12.5

文字化け事象の例

以下UTF-8のファイルを例に説明します。

cat sample.txt
vim文字コードの確認テストです。

vimでファイルを開きます。

vim sample.txt

以下のように文字化けして表示されることを確認しました。

画像1

現在の文字コードを確認

まず現在の文字コードを確認します。
vimのコマンドモードで、以下コマンドを実行してください。

:set enc?

:set enc?実行前キャプチャ

画像2

:set enc?実行後キャプチャ

画像3

encoding=[現在の文字コード]が表示されることを確認してください。
キャプチャではlatin1が設定されていることを確認できました。

文字コード変更(UTF-8の例)

開いているファイルの文字コードを変更します。
vimのコマンドモードで:set encoding=[文字コード]を指定します。

以下コマンドはUTF-8に変更する例となります。

:set encoding=utf-8

:set encoding=utf-8実行前

画像4

:set encoding=utf-8実行後

画像5

UTF-8で書かれたファイルであれば、文字化けが直ります。
文字化けが直らない場合は、他の文字コードも試してみてください。

vimrcファイル編集(恒久的な対処)

vimで開いたファイルのデフォルト文字コードを変更する場合は、以下ファイルを編集します。

vim /etc/vim/vimrc

末尾に以下2行を追記します。(UTF-8を設定する場合の例)

set encoding=utf-8
set fileencodings=utf-8,latin1

※他の文字コードを使用する場合は、utf-8を置き換えてください。

文字コード確認

vimrcファイル編集後、文字化けしていたファイルを再度開いてください。

vim sample.txt

文字化けが発生していないことを確認します。

画像6

vimのコマンドモードで以下を実行し、文字コードが変わっていることも確認してください。

:set enc?

:set enc?実行前

画像7

:set enc?実行後

画像8

encoding=[設定した文字コード]が表示されればOKです。


vimの使い方はこちらのリンク を参照してください。

以上です。
よいITライフを。