如果我打开在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。
:%s/\r\+//g
在Vim中,它去掉所有回车符,只留下换行符。
来自Wikia:
%s/\r\+$//g
这将查找所有回车符(一个或多个重复),直到行尾并删除,因此仅\n将保留在EOL。
如果您在Windows中的Notepad或Notepad++中创建文件,将其带到Linux,然后用Vim打开,您将在每行末尾看到^M。为了去除这一点,
在Linux终端上,键入
dos2unix filename.ext
这将产生所需的魔力。
可以使用以下命令::%s/^V^M//g其中“^”表示使用CTRL键。