我使用vim打开文件event.txt
并向我展示一些搜索结果。这工作正常,但由于我在_vimrc
中进行了更改,因此显示文件内容为@
- 符号使其无法读取。见下图。
我在_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
?没有@
- 标志。
答案 0 :(得分:2)
开头的^@
是字节顺序标记(BOM),典型的Windows Unicode 文本。 :edit ++enc=ucs2-le event.txt
是Vim表示的NUL值,它(粗略地)显示为每隔一个字符。所以,你有一个(大部分)ASCII文本文件,用UCS-2小端编码:每个字符由两个字节(16位)表示,低位字节首先表示。
您可以使用
打开该文件:set encoding=utf-8
但最好正确设置Vim,以便自动检测它。由于您在Windows上使用GVIM,我建议使用
~/.vimrc
在您'fileencodings'
的开头。这会自动将您的ucs-bom,utf-8,default,latin1
设置为'fileencoding'
的良好默认值。注意第一个元素;这应该有助于检测文件。
请勿在{{1}}中设置~/.vimrc
!这是缓冲区本地设置,它将由Vim自动设置打开文件。 'fileencodings'
(注意复数)是影响检测的正确选项。