Vim在文件末尾显示换行符

Vim show newline at the end of file

使用set eol选项,Vim会在保存文件末尾时自动添加换行符。 我有这个选项,但我希望能够在Vim中看到这个换行符,所以我知道它实际上存在。

例如,使用Vim中的文件:Vim screenshot

和TextMate中的相同文件:TextMate screenshot

这总是欺骗我,我最终添加了第二条新线,最后才意识到。 这个完全相同的问题发布在这里,但接受的答案没有回答这部分问题。

使用set listList screenshot

我可以看到在最后一行之后有一个$字符表示一个新行,但是这也会使用这些字符来填充文件的其余部分。 我知道我可以为此设置一个切换但我真的更喜欢TextMate之类的行为。


默认情况下,'endofline'处于启用状态,因此您在~/.vimrc中不需要它。

EOL或"换行符"并不意味着"此后有空行",这意味着"这标志着行的结束,任何其他字符将显示在另一行"。"newline"!="新行"。

文件的最后一行是#21,它以"换行符"结尾。 由于在"换行"字符之后没有实际的行,没有第22行,显示第22行不仅错误而且误导。

TextMate的行为是错误的。

Vim的行为是正确的。

如果你想让Vim显示第22行,你需要明确添加该行,但这对我来说听起来相当愚蠢。