Se você não encontrar codificações arbitrárias (ou seja, todos os ASCII ou a codificação correspondente ao seu Vim), e não são incomodados pelo ^M
em arquivos com finais de arquivo do Windows, sua abordagem deve funcionar bem.
O Vim não foi feito para editar tais arquivos (o ponto de vista do Unix é que eles estão incompletos), portanto é difícil de fazer. No entanto, meu plug-in PreserveNoEOL tenta tornar isso mais confortável, para que você não precise se preocupar sobre a mecânica.