Nevim, jaky pouzivate OS a typ VIMu (graficky nebo bez grafiky). Ja pouzivam VIM bez grafiky (terminalovy) v okne xterm nebo rxvt na Linuxu. V tomto pripade pouzivam na prekodovani nasledujici postup (popsany v helpu):
let &tenc=&enc
set enc=utf-8
Coz po rade znamena: nastav promennou terminalencoding na soucasnou hodnotu encoding (kdyz se nelisi, je tenc vypnute, proto se musi rucne nastavit) a pote nastav encoding (kodovani, ktere vim pouziva pri praci s timto souborem) na utf-8.
Zasadni rozdil mezi encoding a fileencoding je v tom, ze fileencoding se pouziva jen pri vystupu (:w), zatimco kdyz mate rozdilne tenc a enc, tak se "preklad" dela interaktvne pri vstupu z klavesnice a vystupu na obrazovku - podobny system jako kdyz takovy preklad dela napr. emulator terminalu (PuTTY na windows apod.)
Jedina chybka, na kterou jsem pri takove praci narazil, je pri otevreni dalsiho souboru v novem okne (mysleno vim okno, ne okno xterm-u). Promenne se tvari nastavene spravne, ale prekodovani je provedeno chybne, na obrazovce je rozsypany caj. Pomuze v takovem okne zadat
:e!
a soubor se "reloadne" uz se spravnym prekodovanim na terminal.