如果我打开在Windows中创建的文件,所有行都以^M结尾。如何一次删除这些字符?
当前回答
我找到了一个非常简单的方法:用nano:nano-file.txt打开文件
按Ctrl+O保存,但在按Enter键之前,按:Alt+D在DOS和Unix/Linux行结尾之间切换,或按:Alt+M在Mac和Unix/Linux行结尾之间转换,然后按Enter键保存,按Ctrl+X退出。
其他回答
:set fileformat=unix将DOS转换为unix。
要直接在Linux控制台中运行:
vim file.txt +"set ff=unix" +wq
这是我的方式。我在DOS EOL中打开了一个文件,当我保存该文件时,它将自动转换为Unix EOL:
autocmd BufWrite * :set ff=unix
我知道我在什么地方见过这个。以下是FreeBSD登录提示:
是否需要从DOS文件中删除所有^M字符?尝试
tr -d \\r < dosfile > newfile
-- Originally by Dru <genesis@istar.ca>
dos2unix是一个命令行实用程序,可以执行此操作,或者:如果您使用Ctrl-v Ctrl-M输入^M,则:%s/^M//g将执行此操作;或者您可以:set ff=unix,Vim将为您执行此操作。
有关于文件格式设置的文档,Vimwiki有一个关于行尾转换的全面页面。
或者,如果你经常来回移动文件,你可能不想转换它们,而是要转换它们:set ff=dos,这样Vim就会知道它是一个dos文件,并使用dos约定来换行。