为什么 vim 创建带有 DOS 行结尾的文件?

为什么 vim 创建带有 DOS 行结尾的文件?

我有

set fileformat=unix

在我的 中.vimrc,但是如果我在vim(在 Cygwin 中运行)中创建一个文件,它仍然会创建 DOS 格式的文件,并且我必须运行它们dos2unix来清理它们。 (我想我真的不因为 Git 帮我清理了它们,但 Unix 文本编辑器(我专门指示它使用 Unix 行结尾)却用额外的垃圾污染了它们,这让我很恼火。)

为什么会出现这种情况呢?我该如何修复它? (通过“修复”我做不是意味着需要我单独转换每个文件。这不是解决办法。这就是完全崩溃的地方。)

答案1

仅设置fileformat可能还不够,具体取决于几个因素。尝试这个:

set fileformat=unix
set fileformats=unix,dos
"set nobinary

要了解它们的作用,请查看:help fileformats等。

我想我能够使用Windows 中vim.exe提供的重现您的问题git。使用上述设置解决了我的问题。在示例中set nobinary被注释掉,因为我认为您不需要它,我将其留在那里作为提示,在您需要进一步调查时可能会有所帮助。

相关内容