Algum tempo atrás eu encontrei essas funções em .vimrc do kenrob em sua repositório dotfiles :
" Removes the ^M character from the end of every line
function! RemoveM()
:%s/^M$//ge
endfunction
" Replaces the ^M character with a carraige return native to the system
function! ReplaceM()
:%s/^M/\r/ge
endfunction
Assim, você pode facilmente adotar essas funções e usar o Vim para lidar com esses caracteres ^M
.