vim 7.3/7.4中文亂碼,必須要記下來,太***的坑人了
我的os環境如下:
win7 64-bit english version
用vim有一段時間了,期間各種配置,各種外掛程式用的都還不錯。
突然有一天,編輯乙個含有中文字元的html檔案,這一開啟,不得了了,滿屏的都是「口」,於是乎google之、、
搜到有很多如下解決辦法的:
1.
"處理文字中顯示亂碼
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
"處理選單及右鍵選單亂碼
source $vimruntime/delmenu.vim
source $vimruntime/menu.vim
"處理consle輸出亂碼
language messages zh_cn.utf-8
有的甚至說是刪掉$vim/vim73(74)/lang, 然後在進行如上配置。
照著做了,失敗。
2.
在vim目錄下,將**寫到_vimrc檔案的function函式前面:
colo torte
set fileencodings=utf-8,gb2312,gbk,gb18030
set termencoding=utf-8
在windows下,gvim開啟utf-8格式文件還是會顯示中文亂碼,再新增:
set encoding=utf-8
let $lang ='zh_cn.utf-8'
source $vimruntime/delmenu.vim
source $vimruntime/menu.vim
也照著這麼配置了,也失敗了、、、
大家的思路基本上都是設定fileencodings, fileencoding和 encoding。
在我快要放棄的臨別之際,搜尋到一篇博文,跟我的簡直是乙個情況,原來是因為在英文版win 7 下的vim不知道如何顯示雙倍字元寬度的漢語。於是按照其配置下來,完美的解決了我的問題。
原博文如下:
vim無疑是世間最強的編輯器(之一)了,但是強大的代價有時候就是必須要花上更多的功夫來應付。中文的編碼問題無疑是中文使用者值得一提的乙個典型問題了,作為老使用者的我為此曾經狠狠的中槍過三次,到了最近這一次,我決定要好好的寫下來,為了記憶日漸衰退的自己留下一點方便查詢的記錄了。
大概七八年前吧,那時候還對vim不算熟悉,剛從ue轉投而來的我,當頭就吃了一記悶棍,花了好大的功夫才理解了原來還有使用者自己搗鼓好檔案編碼這回事情,到處查詢之後,算是得到了如下的一點知識:
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
set fileencoding=utf-8
set encoding=utf-8
這些配置在網上隨便一查,就不難理解:
encoding用來指導vim理解自己內部處理和顯示的預設編碼;
fileencodings則是決定vim識別檔案編碼格式的識別序列,應當按照從嚴格到寬鬆的角度來擺放;
fileencoding設定檔案儲存時的編碼格式;
於是,在這樣乙個配置的加持下,我無風無雨的渡過了好幾年的vim使用——正當我志得意滿,自以為對vim已經比較了解的情況下,兩年前有次在linux下term中使用vim過程中卻遇到了久違的亂碼,當我試了好幾次都無法解決之後,才終於開始滿世界的尋求解決(過程中,甚至萌生過轉投其他編輯器的想法),在數次絕望之後終於找到了原因,依賴於「termencoding」這個引數指導的term側的顯示終於的得到了解決,至此我以為萬事大吉,甚至把vimrc都留檔備份,準備以後千秋萬代了:
set termencoding=gbk
好吧,高潮在後頭,就在最近剛剛裝了個新機器,英文版的windows7,vim7.4——然後,赫然發現方塊亂碼又出現了!我各種掙扎和搜尋,都沒有找到原因,再次絕望之際,一篇小小的文章卻告訴我,原來我一直以為還是編譯碼識別導致的問題,實際上卻是貨真價實的顯示問題罷了——英文windows下的vim不知道如何顯示雙倍字元寬度的字型!你必須告訴它:
set gfn=monaco:h10:cansi
set gfw=nsimsun:h12
如上,設定了英文本型使用monaco,中文字型用nsimsun,至此,才徹底搞定了這個問題。
果真,我生有涯而學無涯啊,希望以後不要再折騰這個了……
最終我的配置如下:
"gvim version 7.4set fileencodings=utf-8,ucs-bom,shift-jis,latin1,big5,bg18030,bgk,bg2312,cp936
set fileencoding=utf-8
set encoding=utf-8
set termencoding=utf-8
"console output encoding
language message zh_cn.utf-8
"background color desert,morning,evening
colorscheme evening
"show line number
:set number
gvim 中文顯示亂碼
我的環境是windows xp gvim 7.4 今天開啟乙個有中文內容的檔案,中文顯示亂碼,於是google了一下。在 vimrc中加入了如下三行就解決問題了 set fileencodings gb2312,utf 8 set fileencoding gb2312 set termencodi...
gvim中文輸入亂碼
預設的vim編譯採用的是gtk1的圖形庫,對中文支援的非常不好。原先也沒注意,雖然覺的gvim有些醜,但是發現gvim中一直沒有辦法顯示和輸入中文,才覺的選單真的很醜,於是通過看 makefile檔案,發現原來用with gtk2就可以了。編譯以後,漂亮的選單終於出來了。並且中 文顯示和輸入的都很漂...
windows下gvim中文亂碼解決方案
網羅了一些網上的解決windows下gvim中文亂碼的解決方案,都試了一遍,可惜都不能完全解決我的所有問題,最後我綜合一下網上的兩種方案,得到了最後完全解決我的中文亂碼問題的方案,配置很簡單,就是把下面的配置直接copy到c program files x86 vim vimrc檔案的開頭。下面第一...