歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下使用vim打開文件亂碼問題解決方案

Linux下使用vim打開文件亂碼問題解決方案

日期:2017/2/28 16:17:15   编辑:Linux教程

方案一:修改.vimrc文件

添加下面一行代碼

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

編碼的前後順序代表了vim在識別文件編碼使用的優先次序,所以在不了解的情況下不要更改上述編碼的次序

注:這種方法會有一個BUG:就是 GBK 編碼的“聯通”被誤判為 UTF-8 編碼,
不過這種情況只發生在一個gbk編碼的文件中只有"聯通"兩個漢字。文件中包含“聯通”這個詞並不會有任何問題,

所以這種情況發生的可能性是極低的,只要知道這種情況就行了。如果這種情況真的發生了,你可以臨時將上面的代碼改成

set fileencoding=gb18030

之後再改回去即可。

同樣,如果你遇到了其它亂碼的情況時,如果你知道文件使用的編碼,也可以將fileencoding暫設置成文件使用的編碼即可解決。

方案二:安裝vim插件

推薦水木社區的 mbbill 開發的 fencview 插件。
該插件使用詞頻統計的方式識別編碼,正確率非常高。

點擊這裡下載。

下載完後把它移動到vim插件目錄,vim7.2默認應該是/usr/share/vim/vim72/plugin/

啟用插件的時候,在vim命令模式下輸入以下命令

:FencAutoDetect 自動檢測文件編碼 (推薦)

:FencView 在編碼列表中選擇文件的編碼

:FencManualEncoding coding 手動設置文件編碼,用你想使用的編碼代替coding

經過我的測試,這種方法沒有上面經典的“聯通”識別錯誤的BUG

Copyright © Linux教程網 All Rights Reserved