如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
以下步骤可以将DOS的文件格式转换为Unix:
:e ++ff=dos Edit file again, using dos file format ('fileformats' is ignored).[A 1]
:setlocal ff=unix This buffer will use LF-only line endings when written.[A 2]
:w Write buffer using Unix (LF-only) line endings.
参考:文件格式
其他回答
:set fileformat=unix将DOS转换为unix。
关于让^M出现的评论是对我有用的。在我的vi中只键入“^M”没有得到任何结果(未找到)。不过,CTRL+V CTRL+M序列做得很好。
我的工作替代命令是
:%s/Ctrl-V Ctrl-M/\r/g
在我的屏幕上看起来是这样的:
:%s/^M/\r/g
在Vim中,键入:
:w !dos2unix %
这将把当前缓冲区的内容通过管道传输到dos2unix命令,并在当前内容上写入结果。之后,Vim将要求重新加载文件。
您可以使用:
vim somefile.txt +"%s/\r/\r/g" +wq
或者dos2unix实用程序。
我找到了一个非常简单的方法:用nano:nano-file.txt打开文件
按Ctrl+O保存,但在按Enter键之前,按:Alt+D在DOS和Unix/Linux行结尾之间切换,或按:Alt+M在Mac和Unix/Linux行结尾之间转换,然后按Enter键保存,按Ctrl+X退出。