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

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


当前回答

使用以下命令之一:

:%s/\r//g

Or

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

其他回答

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

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

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

这招对我很管用:

设置文件格式为unix (\n行结束) 保存文件

在vim中:

:set ff=unix
:w

这对我来说很简单

dos2unix   filename

在Solaris:

: %。s /; rolelabel CTRL + V > 50%的CTRL + M / / g

那就是:

: % s / M ^ / / g

这意味着:

% =所有行, S =代入, ^M =你想要替换的东西 // =替换为空 G =全局(不仅是第一次出现)

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

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