我想在输入时保存任何文件为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中?如何解决?
答案 0 :(得分:0)
因为为每个缓冲区设置了fileencoding
,所以Vim在加载后立即读取。
要以特定编码读取文件,通过设置'fileencoding'将无法工作...如果您更喜欢其他编码,请使用BufReadPost自动命令事件来测试是否要使用您的首选编码。
au BufReadPost * if &fileencoding == "cp936" | set fileencoding=utf-8 | endif
有关详细信息,请参阅:h 'fileencoding'
和:h 'fileencodings'
(最后带有's')。