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

ico*_*ast 20 vim cygwin windows

我有

set fileformat=unix
Run Code Online (Sandbox Code Playgroud)

在我的.vimrc,可是如果我创建一个文件vim(在Cygwin中运行),它坚持以创建DOS格式文件,我必须跑他们通过dos2unix清除它们。(我想我真的不,既然Git的清理它们对我来说,但它只是错误我到死是一个Unix文本编辑器,我已经明确指示要使用Unix行结尾,与额外的垃圾污染他们.)

为什么会发生这种情况?我该如何解决?(我所说的“修复”并不是指需要我单独转换每个文件的东西。那不是修复。那是完全坏掉的东西。)

jan*_*nos 26

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

set fileformat=unix
set fileformats=unix,dos
"set nobinary
Run Code Online (Sandbox Code Playgroud)

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

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