Vimでのエンコーディング関係のオプションは次の通り:
'encoding'system()の結果は常に'encoding'として扱われ、'fileencoding'への変換は行われない。変換を期待する場合は:read!を使う必要がある。このためにvcscommandは一部で不具合が出る。)'fileencoding''encoding'の値が異なる場合、後者から前者へのエンコーディングの変換が行われる。特に設定されていない場合、'encoding'の値が用いられる。:setlocal fileencoding={encoding}として値を変更してからバッファを保存する(:setは副作用があるので基本的に:setlocalを使うべき)。'fileencodings''encoding'への変換を試し、最初に変換に成功したエンコーディングが'fileencoding'として用いられる。'encoding'の値が'fileencoding'として用いられる。'encoding'で指定された値は変換の成否にかかわらず無条件に'fileencoding'として用いられる。よって'encoding'で指定された値は'fileencodings'に含めるべきではない。'encoding'と同じ値は変換の成否にかかわらず無条件に用いられる」はなくなっていた。ただ誤解釈を避けるためできるだけ後にしておいた方が良いことは確か(例えばiso-2022-jpは最初の方におかないと誤解釈され易い)。:edit ++enc={encoding}としてファイルを開きなおす(入力が面倒なのでエンコーディング指定済みのコマンドを作成しておくと便利)。'termencoding''encoding'の値が用いられる。:set termencoding=cp932等とすればよい(GNU screen使用時はそちら側で対処するという方法もある)。設定例: 基本的な値の設定(ベースは香り屋版Vimのもの) / ファイルを開いた際にその内容にマルチバイト文字が含まれていない場合の対処。
なお、$ENV_WORKINGだの$ENV_ACCESSだので切り分けているのは複数環境で作業するケースを考えての対策です(これらの環境変数の値はシェル側で設定しています)。必要に応じて削除すれば流用可能なはずです。また、後者の設定の:autocmdについてはMyAutoCmdを削除すれば流用可能なはずです(これは自分で定義したautocmdをリセットし易くするための処置です。そうしないとvimrcのリロードがし難くなるのです)。