Vim の modeline はファイルを読みこむ時ではなくファイルを読み込んだ後に有効になるので、ファイルに vim: fenc=utf-8 などと書いてあってもそれはファイルを読み込む際には考慮されない。つまりファイルを開く際の文字化け防止には使えない。むしろ、ファイルを開く際に文字化けしてしまった後に modeline でエンコーディングが再設定された後、そのままファイルを編集して保存してしまうと、文字化けした部分のデータが壊れてしまう。従って modeline で fileencoding (fenc) を設定してはいけない。 ちなみに、fileencoding オプションが各ファイルをディスクに読み書きする際のエンコーディングを指定するのに対し、encoding オプションは vim がファイルの編集中にプログラム内部で使用するエンコーディングを指定する。前者はファイルごとに異な