vim中編碼方式的設定

2022-05-13 15:21:36 字數 1506 閱讀 1926

以前在設定vi的編碼方式設定的時候, 是直接從網上找的相關的方法, 主要是在/etc/vimrc檔案中新增如下的內容:

set fileencodings=utf-8,latin-1, gb2312,gbk,gb18030

set termencoding=utf-8

set encoding=prc

這樣做可以使vi正確的顯示檔案內容是中的檔案.

但是存在乙個問題,就是如果要在vi中顯示中文檔名的時候就會亂碼.

之前我在網上搜尋相關的問題, 幾乎沒有人提出這個問題, 然後我就容忍了一段時間,但是很不爽.

今天下決心要解決這個問題.

在網上找了很多材料之後,終於解決了這個問題.

這個問題主要是涉及到了vim中的編碼方式. 與vi編碼相關的有幾個選項:

encoding、fileencoding、fileencodings、termencoding,它們的意義如下:

* encoding: vim 內部使用的字元編碼方式,包括 vim 的 buffer (緩衝區)、選單文字、訊息文字等;

* fileencoding: vim 中當前編輯的檔案的字元編碼方式,vim 儲存檔案時也會將檔案儲存為這種字元編碼方式 (不管是否新檔案都如此);

* fileencodings: vim 啟動時會按照它所列出的字元編碼方式逐一探測即將開啟的檔案的字元編碼方式,並且將 fileencoding 設定為最終探測到的字元編碼方式。因此最好將 unicode 編碼方式放到這個列表的最前面,將拉丁語系編碼方式 latin1 放到最後面;()

注意順序是不能錯的。ucs-bom必須要設定為第乙個,utf-8必須是第二個,latin1必須是最後乙個。為什麼這樣設定可以看vim文件:

:help fencs

* termencoding: vim 所工作的終端 (或者 windows 的 console 視窗) 的字元編碼方式。

由於 unicode 能夠包含幾乎所有的語言的字元,而且 unicode 的 utf-8 編碼方式又是非常具有價效比的編碼方式 (空間消耗比

ucs-2 小),因此建議 encoding 的值設定為 utf-8。這麼做的另乙個理由是 encoding 設定為 utf-8 時,vim

自動探測檔案的編碼方式會更準確 (或許這個理由才是主要的 ;)。我們在中文 windows

裡編輯的檔案,為了兼顧與其他軟體的相容性,檔案編碼還是設定為

gb2312/gbk 比較合適,因此 fileencoding 建議設定為 chinese (chinese 是個別名,在 unix 裡表示

gb2312,在 windows 裡表示 cp936,也就是 gbk 的**頁)。可以檢視vim文件:

:help encoding-names
所以, 這樣設定vimrc檔案, 就會解決上面的問題:

set fileencodings=utf-8,chinese,latin-1

set termencoding=utf-8

set encoding=utf-8

參考網頁:

vim中編碼方式的設定

以前在設定vi的編碼方式設定的時候,是直接從網上找的相關的方法,主要是在 etc vimrc檔案中新增如下的內容 set fileencodings utf 8,latin 1,gb2312,gbk,gb18030 set termencoding utf 8 set encoding prc 這樣...

VIM編碼設定

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

vim編碼設定

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