在 Vim 中,有四個與編碼有關的選項,它們是:fileencodings
、fileencoding
、encoding
和 termencoding
。vim
encoding:編碼
encoding
是 Vim 內部使用的字符編碼方式,當設置了 encoding以後,vim內部全部 buffer、寄存器、腳本中的字符串都使用這個編碼,因爲 encoding
選項涉及到 Vim 中全部字符的內部表示,所以只能在 Vim 啓動的時候設置一次。在 Vim 工做過程當中修改encoding
會形成很是多的問題。若是沒有特別的理由,請始終將 encoding
設置爲 utf-8
。code
fileencoding:utf-8
當 Vim 從磁盤上讀取文件的時候,會對文件的編碼進行探測。若是文件的編碼方式和 Vim 的內部編碼方式不一樣,Vim 就會對編碼進行轉換。轉換完畢後,Vim 會將 fileencoding
選項設置爲文件的編碼。字符串
fileencodings:字符編碼
fileencodings 是一個用逗號分隔的列表,當咱們打開文件的時候,VIM 按順序使用 fileencodings 中的編碼進行嘗試解碼,若是成功的話,就使用該編碼方式進行解碼,並將 fileencoding
設置爲這個值,若是失敗的話,就繼續試驗下一個編碼。coding
推薦設置:set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1file
termencoding:im