40

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

以 Vim 中的文件为例:Vim 截图

和 TextMate 中的同一个文件:文本伴侣截图

这总是欺骗我,我最终添加了第二条新行并最终意识到。此处发布了完全相同的问题,但被接受的答案并未回答这部分问题。

使用set list列表截图

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

4

1 回答 1

16

'endofline'默认情况下处于启用状态,因此您的~/.vimrc.

EOL 或“换行符”并不意味着“这里后面有一个空行”,它的意思是“这标志着行的结束,任何进一步的字符都将显示在另一行上”。“换行”!=“换行”。

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

TextMate 的行为是错误的。

Vim 的行为是正确的。

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

于 2013-03-26T15:28:45.903 回答