![vim 编辑会话底部的 noeol 指示器是什么意思?](https://linux22.com/image/20920/vim%20%E7%BC%96%E8%BE%91%E4%BC%9A%E8%AF%9D%E5%BA%95%E9%83%A8%E7%9A%84%20noeol%20%E6%8C%87%E7%A4%BA%E5%99%A8%E6%98%AF%E4%BB%80%E4%B9%88%E6%84%8F%E6%80%9D%EF%BC%9F.png)
我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 尝试将所有内容集中到一行中。这个指示器可以帮助我在文件搞砸我的操作系统之前快速关闭它。