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

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


当前回答

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

:%s/.$//g

这解决了我的问题

其他回答

^M给出不需要的换行符。要处理这个问题,我们可以使用sed命令,如下所示:

sed 's/\r//g'

首先,使用:set ff?来确定文件的格式。

我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。

只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。

如果文件是在windows上创建的,请使用dos2unix实用程序。 如果文件是在mac上创建的,请使用mac2unix实用程序:)

另外,还有称为dos2unix和unix2dos的开源实用程序可以做这件事。在linux系统上,它们可能是默认安装的;对于Windows系统,你可以从http://www.bastet.com/等网站下载。

这对我来说很简单

dos2unix   filename