Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
在串行控制台上,所有的vi和sed解决方案都不适合我。我不得不:
cat inputfilename | tr -d '\r' > outputfilename
其他回答
如果文件是在windows上创建的,请使用dos2unix实用程序。 如果文件是在mac上创建的,请使用mac2unix实用程序:)
我用sed做了这个:
Sed -i -e 's/\r/\n/g'文件名
在Solaris:
: %。s /; rolelabel CTRL + V > 50%的CTRL + M / / g
那就是:
: % s / M ^ / / g
这意味着:
% =所有行, S =代入, ^M =你想要替换的东西 // =替换为空 G =全局(不仅是第一次出现)
我用BBEdit在MacVim中创建的一个文件显示了一堆^M行返回,而不是常规的返回。下面的字符串替换解决了这个问题:
:%s/\r/\r/g
这很有趣,因为我用相同的字符替换了换行符,但我认为Vim只需要获得一个新的\r才能正确显示。我很想知道为什么这是可行的。
或者不使用vim,只需使用此命令修复换行符
fromdos <filename.txt>
希望能有所帮助!