vimはファイルを開く際、iconvを使用してfileencodingsの順に変換を試し、正しく変換出来た物をfileencodingとして使用する仕組みになっています。 つまり化けたファイルだと、どのfileencodingsにもマッチせずencodingで指定されたエンコーディングでファイルが開かれステータス行に「変換失敗」と表示される事になります。 しかしながらそのファイルのエンコーディングが分かっている場合もあります。vimでは++encオプションを指定する事で指定のfileencodingでファイルを開く事が出来ます。 :e ++enc=utf-8 foo.txt この場合、vimはiconvで変換出来なかった文字を?という文字で置き換えてしまいます。 # echo あいうえお | iconv -f char -t utf-8 > utf8.txt # echo あいうえお |