.vimrcで日本語エンコーディングの自動判定

参考までに。
multi_byteとiconvが有効であれば、特殊なパッチを当てることなく主要な日本語エンコーディングに対応できるはずです。

set encoding=utf-8
let &fileencoding=&encoding
set fileencodings=iso-2022-jp,euc-jp,utf-8,cp932,ucs-2le,ucs-2
autocmd BufReadPost * if (&fenc == "iso-2022-jp") && (search("[^\t-~]",'nw') == 0) | let &fileencoding=&encoding | endif

encodingは、普段使っている日本語エンコーディングに合わせてください。
ISO-2022-JPの判定を一番最初にしている都合上、US-ASCIIでもISO-2022-JPと判定されてしまいます。そのため、4行目のautocmdで、US-ASCII(のように見えるの)であれば、fileencodingをencodingにセットしています。


さらに、

set fileformats=unix,dos,mac

で、改行文字の自動判定も行えます。