vim字元編碼設定

2022-04-13 04:39:29 字數 1438 閱讀 4311

和所有的流行文字編輯器一樣,vim 可以很好的編輯各種字元編碼的檔案,這當然包括ucs-2、utf-8 等流行的 unicode 編碼方式。然而不幸的是,和很多來自 linux 世界的軟體一樣,這需要你自己動手設定。

好了,解釋完了這一堆容易讓新手犯糊塗的引數,我們來看看 vim 的多字元編碼方式支援是如何工作的。

vim 啟動,根據 .vimrc 中設定的 encoding 的值來設定 buffer、選單文字、訊息文的字元編碼方式。

讀取需要編輯的檔案,根據 fileencodings 中列出的字元編碼方式逐一探測該檔案編碼方式。並設定 fileencoding 為探測到的,看起來是正確的 (注1) 字元編碼方式。

對比 fileencoding 和 encoding 的值,若不同則呼叫 iconv 將檔案內容轉換為encoding 所描述的字元編碼方式,並且把轉換後的內容放到為此檔案開闢的 buffer 裡,此時我們就可以開始編輯這個檔案了。注意,完成這一步動作需要呼叫外部的 iconv.dll(注2),你需要保證這個檔案存在於 $vimruntime 或者其他列在 path 環境變數中的目錄裡。

編輯完成後儲存檔案時,再次對比 fileencoding 和 encoding 的值。若不同,再次呼叫 iconv 將即將儲存的 buffer 中的文字轉換為 fileencoding 所描述的字元編碼方式,並儲存到指定的檔案中。同樣,這需要呼叫 iconv.dll由於 unicode 能夠包含幾乎所有的語言的字元,而且 unicode 的 utf-8 編碼方式又是非常具有價效比的編碼方式 (空間消耗比 ucs-2 小),因此建議 encoding 的值設定為utf-8。這麼做的另乙個理由是 encoding 設定為 utf-8 時,vim 自動探測檔案的編碼方式會更準確 (或許這個理由才是主要的 ;)。我們在中文 windows 裡編輯的檔案,為了兼顧與其他軟體的相容性,檔案編碼還是設定為 gb2312/gbk 比較合適,因此 fileencoding 建議設定為 chinese (chinese 是個別名,在 unix 裡表示 gb2312,在 windows 裡表示cp936,也就是 gbk 的**頁)。

配置:對於fedora來說,vim的設定一般放在/etc/vimrc檔案中,不過,建議不要修改它。可以修改~/.vimrc檔案(預設不存在,可以自己新建乙個),寫入所希望的設定。

我的.vimrc檔案如下:

set encoding=utf-8

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

set termencoding=utf-8

其中,fileencoding配置可以設定utf-8,但是我的***好像不支援utf-8編碼,所以乾脆,我就設定為gb2312了。現在搞定了,不管是vi中還是***上都可以顯示無亂碼的.txt檔案了。

參考

vim字元編碼設定

和所有的流行文字編輯器一樣,vim 可以很好的編輯各種字元編碼的檔案,這當然包括ucs 2 utf 8 等流行的 unicode 編碼方式。然而不幸的是,和很多來自 linux 世界的軟體一樣,這需要你自己動手設定。好了,解釋完了這一堆容易讓新手犯糊塗的引數,我們來看看 vim 的多字元編碼方式支援...

vim字元編碼設定

對於fedora來說,vim的設定一般放在 etc vimrc檔案中,不過,建議不要修改它。可以修改 vimrc檔案 預設不存在,可以自己新建乙個 寫入所希望的設定。我的.vimrc檔案如下 set encoding utf 8 set fileencodings ucs bom,utf 8,cp9...

VIM編碼設定

vim編碼設定 vim裡面的編碼主要跟三個引數有關 enc encoding fenc fileencoding 和fencs fileencodings fenc是當前檔案的編碼,也就是說,乙個在vim裡面已經正確顯示了的檔案 前提是你的系統環境跟你的enc設定匹配 你可以通過改變 fenc後再w...