如果打开在Windows中创建的文件,则所有行均以结尾^M。如何一次删除所有这些字符?
^M
DOS2UNIX的是一个命令行实用工具,将做到这一点,还是:%s/^M//g会如果你使用Ctrl- v Ctrl-m输入^ M,或者你也可以:set ff=unix和Vim会为你做它。
:%s/^M//g
:set ff=unix
有关于文件格式设置的文档,并且Vim Wiki上有关于行尾转换的完整页面。
或者,如果你来回移动文件很多,你可能不想转换它们,而是这样做了:set ff=dos,因此Vim会知道这是一个DOS文件,并使用DOS约定作为行尾。
:set ff=dos
:%s/^M//g
应该为:%s/\r//g
,因为^M
仅表示“在行首匹配大写字母“ M””。如果您按照答案说的那样做,并且“使用ctrl-v ctrl-m输入^ M”,则不可以。
crtl-v不好,在Windows上它将剪贴板内容粘贴到命令行。解决方案
:%s/\r//g
为我工作,干杯@Bunyk@ropata在Windows上想要的是ctrl-q。
我一定很想念东西,因为
set ff=unix
什么也没做。也许它可以转换文件,但是所有^M
字符仍然存在。