Vim автоматически добавляет перенос строки в конце файла, чтобы это не произошло можно выполнить следующие действия.
Открыть файл с ключом -b
vim -b file
А затем в vim ввести команды:
:set noeol :wq
Или запустить vim и в нём открыть файл командой
:e ++bin file
Ну и последний вариант, открыть файл обычным образом а затем выполнить команды
:set binary :set noeol :wq
Рецепт работает, но не так, как надо. Опция binary также устанавливает концы строк в формате unix, что является побочным эффектом. А вот сохранить файл с концами строк crlf и без концевого переноса строки — проблема.