Centos 下vi中文亂碼相關問題

來源:互聯網
上載者:User

由於在windows下預設是gb編碼,而我的vim預設是utf-8(gedit預設也是utf-8),所以開啟會成亂碼。修改了一下設定檔,使vi支援gb編碼就好了。

$vi ~/.vimrc

let &termencoding=&encoding
set fileencodings=utf-8,gbk

$:wq

再次開啟vi,顯示就正常了。




參考文章:

====================================================
在終端下使用vim進行編輯時,預設情況下,編輯的介面上是沒有顯示行號、文法高亮度顯示、智慧縮排等功能的。為了更好的在vim下進行工作,需要手動設定一個設定檔:.vimrc。

在啟動vim時,目前使用者根目錄下的.vimrc檔案會被自動讀取,該檔案可以包含一些設定甚至指令碼,所以,一般情況下把.vimrc檔案建立在目前使用者的根目錄下比較方便,即建立的命令為:

$vi ~/.vimrc

設定完後

$:x 或者 $wq

進行儲存退出即可。

下面給出一個例子,其中列出了經常用到的設定,詳細的設定資訊請參照參考資料:

“雙引號開始的行為注釋行,下同

“去掉討厭的有關vi一致性模式,避免以前版本的一些bug和局限

set nocompatible

“顯示行號

set nummber

“檢測檔案的類型

filetype on

“記錄曆史的行數

set history=1000

“背景使用黑色

set background=dark

“文法高亮度顯示

syntax on



“下面兩行在進行編寫代碼時,在格式對起上很有用;

“第一行,vim使用自動對起,也就是把當前行的對起格式應用到下一行;

“第二行,依據上面的對起格式,智能的選擇對起方式,對於類似C語言編

“寫上很有用

set autoindent
set smartindent

“第一行設定tab鍵為4個空格,第二行設定當行之間交錯時使用4個空格

set tabstop=4
set shiftwidth=4

“設定匹配模式,類似當輸入一個左括弧時會匹配相應的那個右括弧

set showmatch

“去除vim的GUI版本中的toolbar

set guioptions-=T

“當vim進行編輯時,如果命令錯誤,會發出一個響聲,該設定去掉響聲

set vb t_vb=

“在編輯過程中,在右下角顯示光線標位置的狀態行

set ruler

“預設情況下,尋找匹配是高亮度顯示的,該設定關閉高亮顯示

set nohls

“查詢時非常方便,如要尋找book單詞,當輸入到/b時,會自動找到第一

“個b開頭的單詞,當輸入到/bo時,會自動找到第一個bo開頭的單詞,依

“次類推,進行尋找時,使用此設定會快速找到答案,當你找要匹配的單詞

“時,別忘記斷行符號

set incsearch

“修改一個檔案後,自動進行備份,備份的檔案名稱為原檔案名稱加“~“尾碼

if has(“vms”)

set nobackup

else

set backup

endif



如果去除注釋後,一個完整的.vimrc配置資訊如下所示:



set nocompatible

set nummber

filetype on

set history=1000

set background=dark

syntax on

set autoindent
set smartindent

set tabstop=4
set shiftwidth=4

set showmatch

set guioptions-=T

set vb t_vb=

set ruler

set nohls

set incsearch

if has(“vms”)

set nobackup

else

set backup

endif





如果設定完後,發現功能沒有起作用,檢查一下系統下是否安裝了vim-enhanced包,查詢命令為:

$rpm –q vim-enhanced






UTF8文字模式下vi亂碼的問題

現在很多主機都採 UTF8 編碼環境

這時我們連到主機內,看一個 文字碼為Big5的檔案時

會出現亂碼,您用vi操作時,可能會不知所措。

然後您可能會開始思考是不是要改語系

當然改了語系就會正常,但同時也失去了UTF8的一些優點

但也不能改完後重新開機,編好了檔案再改回UTF8再重新開機一次

這樣就太累了!

談解決問題前,先認識一點,

Linux 是可以允許使用者使用不同的語系的,而不用理會系統用什麼語系

也就是說,每個不用帳號的使用者都可以擁有自己的語系。

所以我們只要編修一個檔案就可以解決這個問題

編修個人家目錄下的隱藏檔

vi .bashrc

加入這行

export LANG=en_US

這樣登出再登入就可以了

不過通常有須要時我才會去改,用完後會再改回來!

免得那天改UFT8編碼的檔案改成亂碼!

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.