Mac hostsなどテキストファイルをviエディタで開いた時の文字化けを解消

Mac

個人的なメモ要素が強い記事です。
業務でMacを使用してますが、よくhostsファイルをコンソールからviエディタで編集することがあります。

新規で開く度にコメントアウト箇所の日本語が文字化けして、その度に解消方法をググってたので、メモ代わりに記事にしました。

スポンサーリンク

前置き

hostsファイルをviで開きます。

$ sudo vi /private/etc/hosts

全角文字が文字化けしています。

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

## ?~C??~C??~B??~C??~R??~C1
192.168.56.100 mylocal.vm
192.168.56.100 mylocal-front.vm

## ?~C??~C??~B??~C??~R??~C2
#192.168.56.101 mylocal.vm      
#192.168.56.101 mylocal-front.vm

解決方法は単純で、UTF-8に文字コードをセットすれば解消されます。

一時的に文字コードを指定する方法 or 文字コードの指定を設定ファイルに定義してしまう方法と2つありますので都合の良い方で設定しましょう。

setコマンド

setコマンドで文字コードを指定できます。

一時的な指定方法

viでファイルを表示後、コマンドモードになっていることを確認し、setコマンドで文字コードを指定します。

:set encoding=utf-8

こちらは一時的な指定なので、viを起動する度に指定する必要があります。

設定ファイルに文字コードを定義する方法

設定ファイルに定義してしまえば都度指定する必要がなくなります。

ホームdir直下に「.vimrc」ファイルを作成します。
※既に設定ファイルがある方はそちらに追記してください。

$ vi ~/.vimrc

内容は以下の1行を追記して保存するだけです。

set encoding=utf-8

補足になりますが、本来Macのvimrcファイルは「/usr/share/vim/vimrc」にありますが、こちらはシステムの設定ファイルのため自分の設定は「~/.vimrc」に定義するのが良いみたいです。

参考

Mac のvimrc (Vim設定ファイル)はどーこー?
タブ幅8 は辛い 最近、Vim であれこれする事が多いのですが、どうにも我慢ならないのがタブ幅の広さ。 8は広過ぎでし

確認

上記で文字コード指定後、
全角文字も綺麗に表示されてることが確認できました!

$ sudo vi /private/etc/hosts

##
# Host Database
#
# localhost is used to configure the loopback interface
# when the system is booting.  Do not change this entry.
##
127.0.0.1       localhost
255.255.255.255 broadcasthost
::1             localhost

## ローカル環境1
192.168.56.100 mylocal.vm
192.168.56.100 mylocal-front.vm

## ローカル環境2
#192.168.56.101 mylocal.vm
#192.168.56.101 mylocal-front.vm
タイトルとURLをコピーしました