[英]vim displays content of file with @-signs
我用vim打开文件event.txt
并显示了一些搜索结果。 这工作正常,但是由于我在_vimrc
进行了更改,因此它使用@
-signs显示文件内容,因此它不可读。 参见下图。 我在_vimrc
中所做的更改是
set fileencoding=utf-8
但我对此发表了评论。 因此它不应影响vim。
"set fileencoding=utf-8
该文件仍显示为不可读。 我可以使用其他编辑器打开文件并正常查看。 我前一段时间有这种行为,但是我以某种方式消失了。 我不记得了
event.txt
文件是我通过powershell生成的Windows事件文件:
get-eventlog -logname system > event.txt
某件事告诉我这不是_vimrc
的更改,也许不是其他更改,但这是我记得我所做的最后更改,此后它不起作用。
我怎样才能在vim查看Windows事件文件event.txt
normaly? 没有@
-signs。
这ÿþ
之初是一个字节顺序标记 (BOM),典型的为Windows Unicode文本。 ^@
是Vim表示的NUL值,(大约)每隔一个字符出现一次。 因此,您有一个(大部分)ASCII文本文件,以UCS-2小尾数编码:每个字符由两个字节(16位)表示,低位在前。
您可以使用
:edit ++enc=ucs2-le event.txt
但是最好正确设置Vim,以便它可以自动检测到它。 由于您在Windows上使用GVIM,因此建议您放置
:set encoding=utf-8
在~/.vimrc
的开头。 这会自动将您的'fileencodings'
设置为ucs-bom,utf-8,default,latin1
。 注意第一个元素; 这应该有助于检测文件。
不要在~/.vimrc
设置'fileencoding'
! 这是本地缓冲区设置,打开文件时Vim会自动设置它。 'fileencodings'
(注意复数)是影响检测的正确选择。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.