如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?


当前回答

可以使用以下命令::%s/^V^M//g其中“^”表示使用CTRL键。

其他回答

:set fileformat=unix将DOS转换为unix。

关于让^M出现的评论是对我有用的。在我的vi中只键入“^M”没有得到任何结果(未找到)。不过,CTRL+V CTRL+M序列做得很好。

我的工作替代命令是

:%s/Ctrl-V Ctrl-M/\r/g

在我的屏幕上看起来是这样的:

:%s/^M/\r/g

这是我的方式。我在DOS EOL中打开了一个文件,当我保存该文件时,它将自动转换为Unix EOL:

autocmd BufWrite * :set ff=unix

在Vim中,键入:

:w !dos2unix %

这将把当前缓冲区的内容通过管道传输到dos2unix命令,并在当前内容上写入结果。之后,Vim将要求重新加载文件。

:%s/\r\+//g

在Vim中,它去掉所有回车符,只留下换行符。