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