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

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


当前回答

使用以下命令之一:

:%s/\r//g

Or

:%s/\r\(\n\)/\1/g

其他回答

不需要使用Ctrl: : % s / r \ / /美元

^M是由Ctrl+V和M检索的

s/^M//g

我用sed做了这个:

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

在串行控制台上,所有的vi和sed解决方案都不适合我。我不得不:

cat inputfilename | tr -d '\r' > outputfilename

我用BBEdit在MacVim中创建的一个文件显示了一堆^M行返回,而不是常规的返回。下面的字符串替换解决了这个问题:

:%s/\r/\r/g

这很有趣,因为我用相同的字符替换了换行符,但我认为Vim只需要获得一个新的\r才能正确显示。我很想知道为什么这是可行的。