我有
set fileformat=unix
在我的中.vimrc
,但是如果我在vim
(在Cygwin中运行)中创建文件,则该文件仍会创建DOS格式的文件,并且我必须运行它们dos2unix
以清理它们。(我猜我不是必须的,因为Git为我清理了它们,但是这让我很生气,因为我专门指示要使用Unix行尾的Unix文本编辑器正在用额外的垃圾污染它们)
为什么会这样?我该如何解决?(“修复” 并不是要我单独转换每个文件的意思。这不是修复。这是完全坏了。)
@Matt:DOS / Windows确实使用
—
echristopherson
CR+LF
,而不是LF+CR
。
我担心如果我不仔细检查,我会交换那些,因为我有这个问题已经有一个学期了。在cygwin中运行和在dos提示符下运行时,行尾不同。我记得我坚信它比DOS中的预期要晚,但是如您所见,它们很容易切换。
—
马特
您确定甚至已读取此.vimrc吗?尝试犯一个故意的错误,看看vim是否能解决这个问题。
—
CVn 2012年
@MichaelKjörling:是的,我测试过,正在阅读。我注释掉了我的
—
iconoclast 2012年
set number
台词,它生效了,而未注释掉它,那才生效。在打开任何内容时,我还在底部添加了“等等等等”,并且在打开任何内容时都得到了“按ENTER或键入命令以继续”的信息,但奇怪的是在此之前没有错误消息(除非它是黑色背景上的黑色字母)。
getline
,事实证明是cygwin在做一些奇怪的事情。产生了一种CR+LF
代替UnixLF
甚至是dos的样式LF+CR
。您应该检查并查看您在cygwin中配置了哪种行尾样式,但使用YMMV。另请参见cygwin.com/faq/faq-nochunks.html#faq.api.cr-lf