Vim中文亂碼問題之這次一定要記下來

2021-06-27 05:44:59 字數 1265 閱讀 2797

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,至此,才徹底搞定了這個問題。

果真,我生有涯而學無涯啊,希望以後不要再折騰這個了……

策略模式 這次一定要弄懂

先假設乙個場景 某個市場人員接到單後的 策略。策略很複雜,可以簡單作如下分類 普通客戶小批量 普通客戶大批量 老客戶小批量 老客戶大批量 具體選用哪個 策略,這需要根據實際情況來確定。這時候我們採用策略模式即可。採用不同的策略應付不同的模型。如果我們不採用策略模式,我們會怎麼處理吶?寫if else...

VIM中文亂碼的問題

1.在windows下預設是gb編碼,linux下vim預設是utf 8,文字編碼格式不一樣,所以開啟會成亂碼。修改配置檔案 vim vimrc let termencoding encoding set fileencodings utf 8,gbk wq或者 x 2.vim中開啟檔案有很多 m符...

ubuntu 下vim中文亂碼問題

之前用ubuntu 裝了vim 的時候沒發現中文亂碼問題,或者就是直接在檔案中輸入 set encoding utf 8 就能解決,今天也許是 ubuntu11.04 的原因,各種 set encoding 不管用,在網上搜了一下,基本就幾個版本,各種抄了。版本1 在配置檔案中加入 set file...