解決了乙個困擾我近一年的vim顯示中文亂碼的問題

2022-05-04 23:48:09 字數 1033 閱讀 1868

今天解決了vi命令開啟日誌檔案中文總是顯示亂碼的問題。由於專案組中的日誌包含一些特殊字元,所以使用vim開啟日誌檔案時總是不能正確識別出檔案字元編碼。此時用:set fileencoding命令可以看出vim把檔案編碼識別成latin1。  

在這種情況下無論終端設定成gbk還是utf-8編碼,都不能正確顯示中文。

解決方法有兩個:

1 使用:e ++enc=utf-8命令強制讓vim以utf-8編碼重新開啟檔案 注意:由於我們程式有時也會輸出gbk編碼的中文字元日誌,所以有時還會有少量亂碼。

2 在開啟檔案前設定好正確的fileencodings(注意這個引數比前面多了乙個s,上面的是vim探測出來的檔案編碼,這個是可供vim選擇的檔案編碼列表)

在~/.vimrc裡面加上一行設定

set fileencodings=ucs-bom,utf-8,gbk18030

(我們專案組機器預設的fileencodings是ucs-bom,utf-8,latin1,latin1是一種相容性很強的字元編碼,這樣的設定讓vim很傾向於認為檔案編碼是latin1)  

總結一下今天學到的vim編碼知識:vim涉及字元顯示的選項有三個,fileencoding檔案字元編碼,encoding緩衝區字元編碼,termencoding終端字元編碼。  

vim顯示字元的順序:(探測檔案編碼,從fileencodings裡面選擇最合適的編碼賦值給fileencoding)按fileencoding編碼讀取檔案->將讀取到的內容轉成encoding編碼->將encoding編碼轉換成termencoding列印到終端->終端(我們平時主要使用的是securecrt)按設定的編碼(一般是utf8)顯示字元。

其中fileencoding必須在檔案開啟前設定才有效,encoding必須在vim啟動前設定才有效,termencoding可以根據需要隨時設定。(之前我一直不知道這幾個設定生效限制,按網上介紹修改過四個編碼,但還是亂碼) 

這四個編碼如果設定不統一,就很有可能出現中文亂碼問題,其中前三個編碼可以在vim檢視,最後乙個編碼需要在securecrt設定檢視。

乙個Refresh()指令解決了困擾了我2天的問題

用gdi 通過資料的 配置自動生成拓撲圖,由於對c gdi 開發缺少經驗,只能嘗試各種函式的實際效果和自己之前做vc 與vb一些經驗。之前主要問題是,設定了自動繪製控制項picturebox布局和自動按照控制項間位置生成連線。其中生成自動連線的函式,利用了參考來的例子,使用 graphics g t...

這一年我經歷了

轉眼間一年又過去了,突然間感覺到時間流失的有點恐怖。每天早上醒來都會有這種感覺,想伸手緊緊的把時間拽在手裡,但是無論怎麼拽,它總能從你的指縫間流失。突然間感覺到在時間面前我們都顯得那麼渺小!這一年雖然很快,但是也收穫著不是嗎?下面還是來看看這一年自己都幹了些什麼吧 就像上面的圖畫的那樣,可以說一年裡...

工作近一年的總結

1.在工作步調 觀念上沒有和老闆保持高度的一致,一直以為老闆是 錯誤的,而沒有向他多問幾個為什麼,而是找其他部門的同事請教,而且結果未果,這樣做其實是很低效的 2.沒有把平時累計的困惑幾天的問題彙總成為具體的文字 郵件儲存,向同事隨時請教 3.工作中經常遇到乙個問題以後,很容易鑽牛角尖,而不是向同事...