我用vim打开一个文件event.txt
并显示一些search结果。 这工作得很好,但是因为我在_vimrc
做了一个更改,所以它显示了带有@
-signs的文件内容,所以它是不可读的。 看下面的图片。 我在
_vimrc
中做了什么改变
set fileencoding=utf-8
但我评论它。 所以它不应该影响vim。
"set fileencoding=utf-8
该文件仍然显示不可读。 与其他编辑人员,我可以打开文件,并正常查看。 我前段时间有过这种行为,但是我以某种方式消失了。 我不记得了。
event.txt
文件是我通过event.txt
生成的Windows事件文件:
get-eventlog -logname system > event.txt
有些东西告诉我,这不是_vimrc
的变化,也许是别的,但这是我记忆中最后一次的变化,在这之后它不起作用。
如何在vim中正常查看windows事件文件event.txt? 没有@
标志。
那开始是一个字节顺序标记 (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'
(注意复数)是影响检测的正确选项。