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

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


当前回答

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

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

其他回答

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

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

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

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

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

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

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

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

s/^M//g
:g/^M/s// /g

如果你用Shift+6 Caps+M输入^M,它不会接受。

你需要输入ctrl+v ctrl+m。

比如: : % s / \ r / / g 这招对我很管用。

它的作用是清除所有行的末尾,去掉^M,就是这样。