我试图用新行替换当前文件中的每一行:

:%s/,/\n/g 

但它插入了一个类似于^@的内容,而不是实际的换行符。该文件未处于DOS模式或任何状态。

我该怎么办?

如果您像我一样好奇,请检查问题:为什么\r是Vim的新线?也


当前回答

在Eclipse中,^M字符可以嵌入到一行中,您需要将它们转换为换行符。

:s/\r/\r/g

其他回答

在Eclipse中,^M字符可以嵌入到一行中,您需要将它们转换为换行符。

:s/\r/\r/g

对于Windows上的Vim,使用Ctrl+Q代替Ctrl+V。

\你可以在这里为你做这项工作。

您需要使用:

:%s/,/^M/g

要获取^M字符,请按Ctrl+v,然后按Enter键。

如果您需要对整个文件执行此操作,我还建议您可以从命令行尝试:

sed 's/\\n/\n/g' file > newfile