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

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


当前回答

sed s/^M//g file1.txt > file2.txt

其中^M是通过同时按下3个键,ctrl + v + M

其他回答

在VIM命令模式下:

:e ++ff=dos | setl ff=unix | up

e++ ff=dos -强制打开dos格式的文件。

Setl ff=unix -将文件转换为unix格式。

上保存文件时,仅当已修改。

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

: ff + + =

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

以上这些方法对我都没用。(替换\r, ^M, ctrl-v-ctrl-m) 我使用复制和粘贴将我的文本粘贴到一个新文件中。

如果你有宏干扰,你可以尝试:在粘贴操作之前设置粘贴,在粘贴操作之后:设置nopaste。

在Linux和Mac OS上,以下工作,

:%s/^V^M/^V^M/g

其中^V^M意味着输入Ctrl+V,然后Ctrl+M。

注意:在Windows上,你可能想使用^Q而不是^V,因为默认情况下^V被映射为粘贴文本。

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

s/^M//g