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

时间:2016-03-10 12:31:00

标签: vim encoding utf-8

我想在输入时保存任何文件为utf-8格式:wq。我的_vimrc中有一行。

set fileencoding=utf-8

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

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

为什么set fileencoding=utf-8 in _vimrc无效? 如何将任何cp936文件自动更改为utf-8文件何时将其保存在gvim中?如何解决?

1 个答案:

答案 0 :(得分:0)

因为为每个缓冲区设置了fileencoding,所以Vim在加载后立即读取。

  

要以特定编码读取文件,通过设置'fileencoding'将无法工作...如果您更喜欢其他编码,请使用BufReadPost自动命令事件来测试是否要使用您的首选编码。

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

有关详细信息,请参阅:h 'fileencoding':h 'fileencodings'(最后带有's')。