Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
Vim在每一行结束时显示^M。
我如何用在Vim中打开的文件中的普通换行符替换它?
当前回答
这个问题有很多其他的答案,但仍然,下面的最适合我,因为我需要一个命令行解决方案:
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辞职
其他回答
不需要使用Ctrl: : % s / r \ / /美元
首先,使用:set ff?来确定文件的格式。
我猜可能是unix,那么问题是你的文件是用fileformat=dos创建的,在行末添加“^M^J”,但用flieformat=unix读取,只从行末删除“^J”,留下“^M”。
只需在Vim命令行中输入:e++ ff=dos即可将文件格式从unix更改为dos。这应该能解决问题。如果不是,:%s/\r//g会帮助你。
在Solaris:
: %。s /; rolelabel CTRL + V > 50%的CTRL + M / / g
那就是:
: % s / M ^ / / g
这意味着:
% =所有行, S =代入, ^M =你想要替换的东西 // =替换为空 G =全局(不仅是第一次出现)
在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辞职