正常情况如果vim只是发现行尾有^M,那么直接使用dos2unix就可以了
^M
dos2unix yourfile.txt
但是有些文本只有^M没有换行。这是因为一般换行都是"0x0d0x0a",0x0d是回车键,0x0a是换行。只有^M没有换行,是因为只有0x0d没有0x0a,这时可以用sed替换
sed -i "s/\x0D/\x0A/g" yourfile.txt