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

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


当前回答

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

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

其他回答

不需要使用Ctrl: : % s / r \ / /美元

就我而言,

上面没有工作,我有一个CSV文件从我的mac复制到Linux机器,我使用了所有上述命令,但没有帮助,只有下面一个

tr "\015" "\n" < inputfile > outputfile

我有一个文件,其中^M个字符被夹在行之间,如下所示

Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKT6TG,TRO_WBFB_500,Trico,CARS,Audi,A4,35 TFSi Premium,,CAAUA4TP^MB01BNKTG0A,TRO_WB_T500,Trico,
:g/^M/s// /g

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

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

我花了一个下午的时间与\n ctrl-v 012作斗争(两者都为我提供null)。&费力通过这条线索,直到我到达metagrapher的。

\r对我来说很好!

/),/s/),/)\r/g

变成这样:

黑名单-extra:i386 (0.4.1, 0.4.1+nmu1), libmount1:i386 (2.20.1-5.1, 2.20.1-5.2), libblkid1:i386 (2.20.1-5.1, 2.20.1-5.2), libapt-pkg4.12:i386 (0.9.7.4, 0.9.7.5), nmap:i386 (6.00-0.1, 6.00-0.2), libsane-common:i386 (1.0.22-7.3,

变成这样:

26 libwv-1.2-4:i386 (1.2.9-3, automatic) openjdk-6-jre-headless:i386 (6b24-1.11.4-3, automatic) 28 jed:i386 (0.99.19-2.1)

魔法。我深深地感激

要在MacOS上使用sed,请执行以下操作:

sed -i.bak $'s/\r//' <filename>

解释:这里的$'STRING'语法属于bash shell。mac电脑不把\r当作特殊字符。通过在$ "中引用命令字符串,你告诉shell将\r替换为ANSI-C标准中指定的实际\r字符。