方案一:修改.vimrc文件php
添加下面一行代碼vim
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1測試
編碼的先後順序表明了vim在識別文件編碼使用的優先次序,因此在不瞭解的狀況下不要更改上述編碼的次序編碼
注:這種方法會有一個BUG:就是 GBK 編碼的「聯通」被誤判爲 UTF-8 編碼,
不過這種狀況只發生在一個gbk編碼的文件中只有"聯通"兩個漢字。文件中包含「聯通」這個詞並不會有任何問題,插件
因此這種狀況發生的可能性是極低的,只要知道這種狀況就好了。若是這種狀況真的發生了,你能夠臨時將上面的ip
代碼改爲utf-8
set fileencoding=gb18030開發
以後再改回去便可。get
一樣,若是你遇到了其它亂碼的狀況時,若是你知道文件使用的編碼,也能夠將fileencoding暫設置成文件使用的編碼便可解決。社區
方案二:安裝vim插件
推薦水木社區的 mbbill 開發的 fencview 插件。
該插件使用詞頻統計的方式識別編碼,正確率很是高。
這裏下載:http://www.vim.org/scripts/script.php?script_id=1708
下載完後把它移動到vim插件目錄,vim7.2默認應該是/usr/share/vim/vim72/plugin/
啓用插件的時候,在vim命令模式下輸入如下命令
:FencAutoDetect 自動檢測文件編碼 (推薦)
:FencView 在編碼列表中選擇文件的編碼
:FencManualEncoding coding 手動設置文件編碼,用你想使用的編碼代替coding
通過個人測試,這種方法沒有上面經典的「聯通」識別錯誤的BUG