vim 编辑会话底部的 noeol 指示器是什么意思?

vim 编辑会话底部的 noeol 指示器是什么意思?

vim在Ubuntu上使用打开一个文件,屏幕底部显示以下内容:

"file.py" [noeol] 553L, 16620C

说明什么noeol

答案1

Unix 编辑器喜欢vi并且vim总是\n在每行末尾添加换行符 ( ) - 特别是最后一行。如果eol最后一行没有行尾 ( ),则这是一种不寻常的情况,并且该文件肯定不是由标准 UNIX 编辑器创建的。

[noeol]这种不寻常的情况是通过编辑器中的标志引起您的注意的vim;其他编辑器可能有类似的标志和通知。

答案2

文件中的最后一行没有换行符 (\n)

答案3

这意味着您查看文件的操作系统无法检测文件的行结束符(如果文件有的话)。有时,当您跨操作系统移动文件(即从 MS 到 *nix 操作系统)时,会发生这种情况

在vim中,如果文件有windows回车符“ ^M",可以在vim中使用以下命令修复它:

:%s/^M/\r/g

意义:

%      => select the whole buffer
s      => substitute
/^M/   => find Windows carriage return.
/\r/   => replace it with *nix carriage return

注意:在 Mac OX 中,^M is ctl+v && ctrl+m

答案4

它是“NO EOL”——没有生产线结束指标。如果您最终打开一个非常大的文件(> 1GB),这非常有帮助。 Vim 尝试将所有内容集中到一行中。这个指示器可以帮助我在文件搞砸我的操作系统之前快速关闭它。

相关内容