
Convert DOS line endings to Linux line endings in vim
如果我打开我在Windows中创建的文件,则所有行都以
dos2unix是一个命令行实用程序,它将执行此操作,或者 'fileformat'设置上的文档在这里,vim wiki有一个全面的页面结束转换。
或者,如果你来回移动文件很多,你可能不想转换它们,而是做 更改视图中的行结尾:
这也可以用作保存操作(:w单独使用你在屏幕上看到的行结尾不会保存):
您可以从命令行使用它:
我通常使用
这似乎有点奇怪,但因为vim与换行符的方式相同而起作用。我也发现它更容易记住:) 我更喜欢使用以下命令:
您还可以使用 有关更多信息,请参阅vim帮助:
在Vim中,它会删除所有回车符,并只留下换行符。
来自:http://vim.wikia.com/wiki/Change_end-of-line_format_for_dos-mac-unix [Esc]:%s / r $ $
您可以直接在文件上使用它,而无需临时文件重定向。
以上使用假定的美国键盘。使用
将文件目录从dos转换为Unix 使用命令行和sed,找到当前目录中扩展名为".ext"的所有文件并删除所有"^ M" @ https://gist.github.com/sparkida/7773170
另外,如上所述^ M = Ctrl + V + Ctrl + M(不要只输入插入符"^"符号和M)
(见:http://kb.iu.edu/data/acux.html) 以下步骤可以将dos的文件格式转换为unix:
参考:http://vim.wikia.com/wiki/Change_end-of-line_format_for_dos-mac-unix 使用以下命令:
获取 您可以使用:
或 关于让^ M出现的评论对我有用。仅仅在我的vi中键入"^ M"一无所获(未找到)。 CTRL + V CTRL + M序列完美地完成了它。 我的工作替换命令是
它在我的屏幕上看起来像这样:
CtrlM是字符
总的来说,此命令将所有
我发现了一种非常简单的方法:用nano: 按CTRL + O保存,但在按Enter之前,按:ALT + D切换DOS和Unix / Linux行结束,或者:ALT + M切换到Mac和Unix / Linux行结束之后再按Enter保存和CTRL + X退出。
您可以使用以下命令: 下面的命令用于重新格式化当前目录中的所有.sh文件,我在我的Fedora OS上测试过它。
直接运行到linux控制台:
通常有一个 BSD版本:
GNU版本:
或者,您可以在此创建自己的
在vim中,键入:
这会将当前缓冲区的内容传递给dos2unix命令,并将结果写入当前内容。 Vim会要求重新加载文件 我知道我在某个地方见过这个。这是FreeBSD登录提示: 需要从DOS文件中删除所有^ M个字符?尝试
我想用换行代替^ M'。 Perl救援:
或者写入stdout:
这是我的方式。我在dos EOL中打开了一个文件,当我保存将自动转换为unix EOL的文件时
虽然这个主题已经很老了,但我还是想从wikia中添加另一个东西:
填充找到所有回车标志(一个或多个代表)直到行尾并删除,所以只有 如果您在Windows中的NotePad或NotePad ++中创建文件并将其带到Linux并通过vim打开它,您将在每行的末尾看到^ M.要删除它, 在您的Linux终端上,输入
这将完成所需的魔法。 |