回答:
の最初のケースでは、ターミナルに表示される
set encoding=utf-8
出力エンコーディングを変更します。の2番目のケースでは
set fileencoding=utf-8
、書き込まれるファイルの出力エンコーディングを変更します。
@Dennisで述べたように、あなたは常にで作業したい場合は、あなたの〜/ .vimrcとでそれらの両方を設定することができますutf-8
。
「vimが文字を内部的にencoding
どのように表現するかを設定します。ほとんどの種類のUnicodeにはUtf-8が必要です。」
" 特定のファイルのエンコーディングをfileencoding
設定します(ローカルバッファに設定)。:setglobalはデフォルト値を設定します。空の値を使用することもできます。デフォルトは 'encoding'と同じです。または、ucsエンコーディングの1つを設定することもできます。特定の文字の組み合わせによっては、同じディスクファイルが大きくなったり小さくなったりする場合があります。また、IIUCでは、utf-8は常にビッグエンディアン(上位ビットが最初)ですが、ucsはビッグエンディアンまたはリトルエンディアンです。使用するには、おそらく「爆弾」を設定する必要があります(以下を参照)。」
vim -c "set encoding=utf-8" file.ext
。
.vimrcで変数「fileencodings」を設定できます。
これは、既存のファイルの編集を開始するときに考慮される文字エンコーディングのリストです。ファイルが読み込まれると、Vimは最初に言及した文字エンコーディングを使用しようとします。エラーが検出された場合、リストの次のエラーが試行されます。機能するエンコーディングが見つかると、「fileencoding」がそれに設定されます。すべて失敗した場合、「fileencoding」は空の文字列に設定されます。つまり、「encoding」の値が使用されます。
見る :help filencodings
たとえばcp1252を頻繁に使用する場合は、そこに追加できます。
set fileencodings=ucs-bom,utf-8,cp1252,default,latin9