Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
或者不使用vim,只需使用此命令修复换行符
fromdos <filename.txt>
希望能有所帮助!
其他回答
使用以下命令之一:
:%s/\r//g
Or
:%s/\r\(\n\)/\1/g
另外,还有称为dos2unix和unix2dos的开源实用程序可以做这件事。在linux系统上,它们可能是默认安装的;对于Windows系统,你可以从http://www.bastet.com/等网站下载。
在vim中,查看文件格式- DOS或Unix:
:设置文件类型= unix
:设置文件格式=Unix
文件将被写回,没有回车符(CR, ^M)。
这个问题有很多其他的答案,但仍然,下面的最适合我,因为我需要一个命令行解决方案:
vim -u NONE -c 'e ++ff=dos' -c 'w ++ff=unix' -c q myfile
解释:
不加载任何.vimrc文件,打开myfile 执行:e++ ff=dos命令,在dos行结束时强制重新加载整个文件。 执行命令w++ ff=unix,使用unix行结束符写入文件 vim辞职
这些方法对我都不起作用,所以我尝试了这个,它起作用了:
类型:% s /
新闻CTRL-VCTRL-M
/ / g型
按回车键
因此,Vim中的整个命令应该看起来像:%s/^M//g
它的作用是:%s(查找并替换)/^M/(该符号)/(不含字符)g(全局)。