如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
如果您在Windows中的Notepad或Notepad++中创建文件,将其带到Linux,然后用Vim打开,您将在每行末尾看到^M。为了去除这一点,
在Linux终端上,键入
dos2unix filename.ext
这将产生所需的魔力。
其他回答
:%s/\r\+//g
在Vim中,它去掉所有回车符,只留下换行符。
在VIM中:
:e ++ff=dos | set ff=unix | w!
带VIM的外壳:
vim some_file.txt +'e ++ff=dos | set ff=unix | wq!'
e++ff=dos-强制以dos格式打开文件。
set ff=unix-将文件转换为unix格式。
我更喜欢使用以下命令:
:set fileformat=unix
您还可以使用mac或dos分别将文件转换为mac或MS-dos/Windows文件约定。如果文件已经是正确的格式,它也不会起作用。
有关更多信息,请参阅Vim帮助:
:help fileformat
我找到了一个非常简单的方法:用nano:nano-file.txt打开文件
按Ctrl+O保存,但在按Enter键之前,按:Alt+D在DOS和Unix/Linux行结尾之间切换,或按:Alt+M在Mac和Unix/Linux行结尾之间转换,然后按Enter键保存,按Ctrl+X退出。
我通常使用
:%s/\r/\r/g
这看起来有点奇怪,但由于Vim与linefeed的匹配方式,它起到了作用。我也觉得更容易记住:)