vim亂碼解決方案:
只想改當前檔案的編碼方式的話,只需要在命令模式下輸入:
代碼如下 |
複製代碼 |
:set encoding=utf-8 :set fileencoding=utf-8
|
在根目錄下建立一個.vimrc檔案,在裡面寫上
代碼如下 |
複製代碼 |
let &termencoding=&encoding set fileencodings=utf-8,gbk,ucs-bom,cp936
|
或者找到檔案.vimrc後,將下面代碼加入即可:
"""""""""""""""""""""""""""""
"解決windows下的中文亂碼問題
"""""""""""""""""""""""""""""
代碼如下 |
複製代碼 |
set encoding=utf-8 "set termencoding=utf-8 set fileencodings=ucs-bom,utf-8,chinese,latin-1 if has("win32") set fileencoding=chinese else set fileencoding=utf-8 endif |
"解決中文菜單亂碼
代碼如下 |
複製代碼 |
set langmenu=zh_CN.utf-8 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim |
"解決console輸出亂碼
代碼如下 |
複製代碼 |
language messages zh_cn.utf-8 |
註:Vim中有幾個選項會影響對多位元組編碼的支援:
encoding(enc):encoding是Vim的內部使用編碼,encoding的設定會影響Vim內部的 Buffer、訊息文字等。在Unix環境下,encoding的預設設定等於locale;Windows環境下會和當前字碼頁相同。在中文 Windows環境下encoding的預設設定是cp936(GBK)。
fileencodings(fencs):Vim在開啟檔案時會根據fileencodings選項來識別檔案編碼,fileencodings可以同時設定多個編碼,Vim會根據設定的順序來猜測所開啟檔案的編碼。
fileencoding(fenc) :Vim在儲存建立檔案時會根據fileencoding的設定編碼來儲存。如果是開啟已有檔案,Vim會根據開啟檔案時所識別的編碼來儲存,除非在儲存時重新設定fileencoding。
termencodings(tenc):在終端環境下使用Vim時,通過termencoding項來告訴Vim終端所使用的編碼。