vim 有一个模式“eol”(用于换行符)来告诉文件中的最后一行是否缺少换行符。您可以通过以下方式查看 vim(或任何类似 vi 的程序)中的所有模式设置
:set all
POSIX vi没有这方面的功能:文件要么是零长度,要么有一个尾随换行符。这是因为 POSIX vi 只处理文本文件,根据定义,文本文件是以换行符结尾的行。在快速检查中,nvi 和 elvis 没有此模式。在我的评论中,我忘记了 vim 的一个细节:与 vile 不同,":set list" 不会轻易地显示缺少的换行符。这是我在 vim 中看到的:
vim 有一个模式 “eol”(用于换行符)来告诉文件中的最后一行是否缺少换行符。您可以通过以下方式查看 vim(或任何类似 vi 的程序)中的所有模式设置
POSIX vi没有这方面的功能:文件要么是零长度,要么有一个尾随换行符。这是因为 POSIX vi 只处理文本文件,根据定义,文本文件是以换行符结尾的行。在快速检查中,nvi 和 elvis 没有此模式。在我的评论中,我忘记了 vim 的一个细节:与 vile 不同,":set list" 不会轻易地显示缺少的换行符。这是我在 vim 中看到的:
在邪恶的时候:
对于任一编辑器,您都可以读取文件,更改模式,例如,
并写出文件,以在更新的文件上获得换行符。您可以修改vim的状态行以显示此信息,而不是直接显示。默认情况下,它似乎不这样做,但一些打包者已经定制了这个,例如,
其中一条评论建议使用“?” 命令的修饰符,
set
例如,这可能会显示如下内容:
但在插入模式下,它被替换为
因此状态行似乎是维护此信息的正确位置。
这些功能已经存在了一段时间:
eol
根据其源代码中的注释,该功能首次出现在 vim 2.4(1994 年 7 月)中。邪恶
newline
模式出现在1993 年7 月。(除了 POSIX vi 的文本文件之外,nvi、elvis、vim 和 vile都处理二进制文件)。