Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
这些方法对我都不起作用,所以我尝试了这个,它起作用了:
类型:% s /
新闻CTRL-VCTRL-M
/ / g型
按回车键
因此,Vim中的整个命令应该看起来像:%s/^M//g
它的作用是:%s(查找并替换)/^M/(该符号)/(不含字符)g(全局)。
其他回答
首先,使用:set ff?来确定文件的格式。
我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。
只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。
如果文件是在windows上创建的,请使用dos2unix实用程序。 如果文件是在mac上创建的,请使用mac2unix实用程序:)
这些方法对我都不起作用,所以我尝试了这个,它起作用了:
类型:% s /
新闻CTRL-VCTRL-M
/ / g型
按回车键
因此,Vim中的整个命令应该看起来像:%s/^M//g
它的作用是:%s(查找并替换)/^M/(该符号)/(不含字符)g(全局)。
我花了一个下午的时间与\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)
魔法。我深深地感激
或者不使用vim,只需使用此命令修复换行符
fromdos <filename.txt>
希望能有所帮助!