LoginSignup
2
0

More than 3 years have passed since last update.

.vimrcに適切な設定をしているが、vimでファイルを開くと文字化けするときの対処

Posted at

文字化けの発生

以下のようなファイルを・・

$ cat curl_memo.txt 
curl "https://www.googleapis.com/youtube/v3/search?key=$YOUTUBE_DATA_API&part=snippet&q=手芸&type=video"

vimで開くと文字化けした


curl   "https://www.googleapis.com/youtube/v3/search?key=$YOUTUBE_DATA_API&part=snippet&q=謇玖敢&type=video"
~
~
~
curl_memo.txt [sjis][unix]
1,1     All
"curl_memo.txt" [converted] 1L, 112C

utf-8のファイルなのに、文字コード自動判別が誤ってsjisで開いてしまっているらしい。
手芸という文字コードがたまたま問題を引き起こしたようだ。

適切な.vimrcの設定とは?

googleで調べてみると、だいたい以下の設定を推奨していた。
過去に文字化けした時があり、自分も同じ設定をしている。

set encoding=utf-8
set fileencodings=iso-2022-jp,euc-jp,sjis,utf-8
参考

対処

案1 文字コードを指定して開く

vim -c ":e ++enc=utf8" curl_memo.txt

デメリット:コマンドが長くて煩雑

案2 自動判別文字コードの最優先をutf-8にする

.vimrx

set encoding=utf-8
set fileencodings=utf-8,iso-2022-jp,euc-jp,sjis

デメリット:utf-8ではない他のファイルを開くときに文字化けする可能性がある。

案3 開くファイルの先頭行に誤認識しない適当な文字のコメントを入れてutf-8と認識させる


# APIメモ
curl   "https://www.googleapis.com/youtube/v3/search?key=$YOUTUBE_DATA_API&part=snippet&q=手芸&type=video"
~
~
~
curl_memo.txt [utf-8][unix]
2,1     All
"curl_memo.txt" 2L, 127C

案3は本末転倒な対処ではあるが、お手軽に文字化けを意識しないで済む

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0