close

Debian發行版中,vim不能像gedit一樣自動判斷中文使用的編碼,這給查看不同編碼的文件帶來了不少麻煩。偶爾發現gentoo把這個問題處理的很好,把它的配置文檔拿來修改一下,效果不錯。


實現方法

編輯/etc/vim/vimrc(Fedora中為/etc/vimrc)或~/.vimrc,(最好在其末尾)加入:

set fileencoding=gb18030
set fileencodings=ucs-bom,gb18030,utf-8,default

紅色的gb18030表示對新創建的文件使用gb18030編碼,如果你需要新文件預設為utf-8,把它改成utf-8就可以了。


原理簡介

vim有自動判斷編碼的功能,這裡主要簡單介紹幾個變數:

encoding
屏幕顯示的編碼,如使用utf-8做locale的系統,encoding就應是utf-8以方便顯示

fileencodings供vi嘗試的編碼列表,vi會逐個嘗試每一項,如果沒有發生錯誤,就設置當前的fileencoding為與該項相同的值。如果均失敗,fileencoding將為空。

fileencoding
正在被編輯的文件的編碼,它也決定新文件的編碼。如果為空,表示與encoding相同。如果與encoding不同,vi將會在保存和讀取時做二者之間的轉換。

arrow
arrow
    全站熱搜

    newmodel 發表在 痞客邦 留言(0) 人氣()