Vim在每一行结束时显示^M。

我如何用在Vim中打开的文件中的普通换行符替换它?


当前回答

比如: : % s / \ r / / g 这招对我很管用。

它的作用是清除所有行的末尾,去掉^M,就是这样。

其他回答

我用sed做了这个:

Sed -i -e 's/\r/\n/g'文件名

这些建议对我都不起作用,因为在使用vim和eclipse时,我设法获得了^M换行符。我怀疑我遇到了一个外部案件但为了能帮助到其他人。

:%s/.$//g

这解决了我的问题

这是唯一对我有效的方法:

: ff + + =

可以在http://vim.wikia.com/wiki/File_format找到它

这个问题有很多其他的答案,但仍然,下面的最适合我,因为我需要一个命令行解决方案:

vim -u NONE -c 'e ++ff=dos' -c 'w ++ff=unix' -c q myfile

解释:

不加载任何.vimrc文件,打开myfile 执行:e++ ff=dos命令,在dos行结束时强制重新加载整个文件。 执行命令w++ ff=unix,使用unix行结束符写入文件 vim辞职

或者不使用vim,只需使用此命令修复换行符

fromdos <filename.txt>

希望能有所帮助!