使用set eol
选项,Vim会在保存文件末尾时自动添加换行符。我有这个选项,但我希望能够在Vim中看到这个换行符,所以我知道它实际上就在那里。
例如,在Vim中有一个文件:
TextMate中的相同文件:
这总是欺骗我,我最终添加了第二条新线,最后才意识到。这个完全相同的问题已经发布here但是接受的答案没有回答这部分问题。
使用set list
:
我可以看到在最后一行之后有一个$
字符表示一个新行,但这也用这些字符填充了文件的其余部分。我知道我可以为此设置一个切换,但我更喜欢TextMate之类的行为。
答案 0 :(得分:16)
'endofline'
默认开启,因此您~/.vimrc
中不需要它。
EOL或“换行符”并不意味着“此后有空行”,表示“这标志着行的结尾,任何其他字符都将显示在另一行”。 “newline”!=“新行”。
你文件的最后一行是#21,它以“换行符”结尾。由于在“换行”字符之后没有实际的行,所以没有第22行,显示第22行不仅错误而且具有误导性。
TextMate的行为是错误的。
Vim的行为是正确的。
如果您希望Vim显示第22行,您需要明确添加该行,但这对我来说听起来相当愚蠢。