Vim在文件末尾显示换行符

时间:2013-03-26 14:24:36

标签: vim newline eof

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

例如,在Vim中有一个文件:Vim screenshot

TextMate中的相同文件:TextMate screenshot

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

使用set listList screenshot

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

1 个答案:

答案 0 :(得分:16)

'endofline'默认开启,因此您~/.vimrc中不需要它。

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

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

TextMate的行为是错误的。

Vim的行为是正确的。

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