diff
表示原始文件末尾缺少一个新线:
1724c1724
< }
\ No newline at end of file
---
> }
我甚至从未碰过那条线。我在大文件中间的某个地方进行的更改。这使我认为VIM在文件末尾添加了一个newline字符。为什么会发生?
我在这里看到的所有答案都解决了一个问题:“如何阻止vim在文件末尾添加一个newline字符?
”,而问题是”
为什么vim在末尾添加新行文件?)。因此,基本上,一行是:
3.206线因此,他们都需要以新线角色结束。这就是为什么VIM始终默认添加新线(因为根据Posix,它应该始终存在)。它不是唯一这样做的编辑。
- Gedit是gnome
中的默认文本编辑器,执行相同的确切功能。eDit 其他工具也期望该纽线字符。例如,请参见:
如何期望。
GCC警告它。 ,您也可能对:vim在文件末尾显示newline。
wc
文本编辑器,有时可以为您“清理”文件。有关如何在不结束纽带的情况下写作的详细信息,请参见
http://vimhelp.appspot.com/vim_faq.txt.html#faq-5.4如何在文件末尾编写一个没有线供稿(EOL)的文件? 您可以关闭
vim
选项并打开文件末尾的没有EOL的文件的选项:eol
binary
:set noeol
:w
附加行,则写入文件,它将长两个字符。 如果您打开所述文件备份并删除第二行并写入文件,则将是一个字节长。 打开文件备份并删除唯一的剩余行,然后写入将为零字节的文件。 因此,vim只要完全为空,就可以让您编写一个零字节文件。 似乎无视上面的POSIX定义。 我猜...添加newline是VIM的默认行为。如果您不需要它,请使用此解决方案:VIM在文件末尾禁用自动newline。 to禁用,将其添加到您的.vimrc
:set noeol
您可以将以下行放入您的.vimrc
:w ++bin
应该解决这个问题,但实际上您的方法有些不对劲。首先set fileformats+=dos
根本不介意结束,其次,如果您不想保存更改,请不要按或更糟糕的是手动尝试重新创建文件的状态
autocmd FileType php setlocal noeol binary
php
。如果您离开编辑并出于某种原因保存,请尝试u
3.206线 零或更多非字符和终止字符的序列。 ,vim将允许您打开一个新文件,编写文件,并且该文件为零字节。 如果您打开一个新文件并使用q!