2016-03-10 60 views
0

我想保存任何文件爲utf-8格式,當輸入:wq。我的_vimrc中有一行。爲什麼在_vimrc中設置fileencoding = utf-8是沒有用的?

set fileencoding=utf-8 

現在有一個其格式爲CP936,它可以打開和所有的中國文字可以正確顯示,很多次都試過了,這是在我的_vimrc的配置行set fileencoding=utf-8沒有用的文件。
1.在gvim(win7)中打開cp936格式文件
2.保存。
3.在gvim中重新打開它。
4.in ex命令,:設置fileencoding,結果是cp936。

我必須在ex命令中設置fileencoding。
1.to在gvim(win7)中打開cp936格式文件
2.in ex命令,:set fileencoding = utf-8
3.保存。
4.to在gvim中重新打開它。
5.in ex命令,:設置fileencoding,結果爲utf-8。

爲什麼set fileencoding=utf-8 in _vimrc不能自動工作? 如何將gpim中的任何cp936文件自動更改爲utf-8文件?如何解決?

回答

0

因爲fileencoding是爲每個緩衝區設置的,Vim在加載之後立即讀取它。

要在一定的編碼讀取文件時,它不會設置「fileencoding」工作...如果你喜歡別的編碼,用BufReadPost自動事件來測試是否您的首選編碼使用。

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

:h 'fileencoding':h 'fileencodings'(與 's' 在結束時),詳見。

相關問題