Linux中vi显示中文乱码的问题
linux 下編程,用到的編程工具是VI,編輯編譯都方便,但經(jīng)常出現(xiàn)中文亂碼問題,下面可完美解決這個問題
由于在windows下默認(rèn)是gb編碼,而我的vim默認(rèn)是utf-8(gedit默認(rèn)也是utf-8),所以打開會成亂碼。修改了一下配置文件,使vi支持gb編碼就好了。
$vi?~/.vimrc
let &termencoding=&encoding
set fileencodings=utf-8,gbk
$:wq
再次打開vi,顯示就正常了。
vim中編輯不同編碼的文件時需要注意的一些地方
此文講解的是vim編輯多字節(jié)編碼文檔(中文)所要了解的一些基礎(chǔ)知識,注意其沒有涉及gvim,純指字符終端下的vim。
vim編碼方面的基礎(chǔ)知識:
1,存在3個變量:
encoding—-該選項(xiàng)使用于緩沖的文本(你正在編輯的文件),寄存器,Vim 腳本文件等等。你可以把 ‘encoding’ 選項(xiàng)當(dāng)作是對 Vim 內(nèi)部運(yùn)行機(jī)制的設(shè)定。
fileencoding—-該選項(xiàng)是vim寫入文件時采用的編碼類型。
termencoding—-該選項(xiàng)代表輸出到客戶終端(Term)采用的編碼類型。
2,此3個變量的默認(rèn)值:
encoding—-與系統(tǒng)當(dāng)前l(fā)ocale相同,所以編輯文件的時候要考慮當(dāng)前l(fā)ocale,否則要設(shè)置的東西就比較多了。
fileencoding—-vim打開文件時自動辨認(rèn)其編碼,fileencoding就為辨認(rèn)的值。為空則保存文件時采用encoding的編碼,如果沒有修改encoding,那值就是系統(tǒng)當(dāng)前l(fā)ocale了。
termencoding—-默認(rèn)空值,也就是輸出到終端不進(jìn)行編碼轉(zhuǎn)換。
由此可見,編輯不同編碼文件需要注意的地方不僅僅是這3個變量,還有系統(tǒng)當(dāng)前l(fā)ocale和、文件本身編碼以及自動編碼識別、客戶運(yùn)行vim的終端所使用的編碼類型3個關(guān)鍵點(diǎn),這3個關(guān)鍵點(diǎn)影響著3個變量的設(shè)定。
?
另外,給大家介紹一個linux下刪除中文亂碼的方法:
ls -li 查看亂碼文件的 inode 號碼,本實(shí)例中文件號碼為 376008?
看看能否通過文件 inode 號碼查找到文件?
如果能,進(jìn)一步刪除該文件,命令是:fiind . -inum 376008 -exec rm -rf {} \;?
最后來一次ls -li 發(fā)現(xiàn)剛才那個亂碼文件已經(jīng)刪除。
總結(jié)
以上是生活随笔為你收集整理的Linux中vi显示中文乱码的问题的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: picsart旧版本_picsart旧版
- 下一篇: CoffeeScript 1.9发布,引