vim字元編碼設定

2021-07-03 02:07:13 字數 2206 閱讀 6317

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

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

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

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

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

4. 編輯完成後儲存檔案時,再次對比 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 fileencoding=gb2312

:set termencoding=utf-8

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

fixing garbage characters problem in the vim

when asian languages are used,i get garbage characters each time i hit a key, here is the way to fix it:

如果你的vim編輯器出現了亂碼,那麼下面就是的解決方案,windows平台找到$vimruntime/_vimrc, 修改下面為下面的樣子;xnix平台找到$vimrumtime\vimrc,修改為下面的樣子,推薦你把配置檔案複製到~/目錄下修改,即cp /etc/vim/vimrc ~/.vimrc, 如果你vim安裝目錄和我的不一樣,用whereis找找看:

"解決中文亂碼問題

set fenc=chinese

"處理文字中顯示亂碼

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字元編碼設定

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

vim字元編碼設定

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

VIM編碼設定

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