为什么在vimrc中设置fileencoding=utf-8没有用?

为什么在vimrc中设置fileencoding=utf-8没有用?,vim,encoding,utf-8,Vim,Encoding,Utf 8,当输入:wq时,我想将任何文件保存为utf-8格式 set fileencoding=utf-8 现在有一个文件的格式是cp936,它可以打开,所有的汉字都可以正确显示,经过多次尝试,我的vimrc中的配置行set fileencoding=utf-8没有用。 1.在gvim(win7)中打开cp936格式文件的步骤 2.保存它。 3.在gvim中重新打开它。 4.ex命令中:set fileencoding,结果为cp936 我必须在ex命令中设置文件编码。 1.在gvim(win7)中打开

当输入:wq时,我想将任何文件保存为utf-8格式

set fileencoding=utf-8
现在有一个文件的格式是cp936,它可以打开,所有的汉字都可以正确显示,经过多次尝试,我的vimrc中的配置行
set fileencoding=utf-8
没有用。
1.在gvim(win7)中打开cp936格式文件的步骤
2.保存它。
3.在gvim中重新打开它。
4.ex命令中:set fileencoding,结果为cp936

我必须在ex命令中设置文件编码。
1.在gvim(win7)中打开cp936格式文件的步骤
2.ex命令中:set fileencoding=utf-8
3.保存它。
4.在gvim中重新打开它。
5.ex命令中:set fileencoding,结果为utf-8

为什么在vimrc中设置fileencoding=utf-8不能自动工作?
在gvim中保存任何cp936文件时,如何将其自动更改为utf-8文件?如何修复

因为Vim加载后读取的每个缓冲区都设置了
fileencoding

要以某种编码读取文件,设置“fileencoding”将无法工作……如果您喜欢另一种编码,请使用BufReadPost autocommand事件测试是否要使用您喜欢的编码

au BufReadPost*if&fileencoding==“cp936”| set fileencoding=utf-8 | endif

有关详细信息,请参见
:h“fileencoding”
:h“fileencodings”
(末尾带有“s”)