@melpomene がコメントしたように、:set encoding
Vim が内部的に使用するエンコーディングを示します。
:set fileencoding
は、Vim がドキュメントに使用することを決定したエンコーディングを教えてくれます。可能な値はfileencodings
オプションによって与えられます。ASCII は、通常、リストされている他のエンコーディングによって透過的に処理されるため、デフォルト リストには含まれていません。
しかし、あなたの質問のその部分は私を困惑させています:
しかし、ファイルがASCIIである理由はまだわかりません
そのファイルがインタープリターによって ASCII として扱われることを積極的に望んでいるように見えるからです。
とにかく、このエンコーディング ディレクティブは Ruby だけが使用します。ファイルが実際にASCII としてエンコードされていることや、Vim がそれを気にして特別な方法で処理する必要があることを意味するわけではありません。
つまり、ファイルが実際に ASCII でエンコードされているかどうかに関係なく、Vim は気にしません。
それで…あなたは正確に何が欲しいのですか?fileencoding
おそらくASCIIファイルを開くと、そのvimはそのオプションをASCIIに設定しますか?おそらくASCIIファイルを別のエンコーディングに変換しますか?
編集
そのディレクティブを使用して、ファイルの内容を ASCII として扱う必要があることを Ruby に明示的に伝えると、Ruby は「OK、あなたがそう言うなら ASCII です」と言います。
このディレクティブは、ファイルの実際のエンコーディングに何も変更しません。utf-8、latin1、または何でもかまいません。
Vim はそのディレクティブを理解していません。
:h encoding
Vim は、そのファイルに使用するエンコーディングを、:h fileencoding
およびで読む必要がある多くの規則に従って選択します:h fileencodings
。
Vim は ASCII を特別な "ASCII" の方法で処理するのではなく、utf-8 のサブセットをそのまま処理するだけです。
したがって、先に進む前に、次のことを確認してください。