win使用telnet到ubuntu下vim顯示中文為亂碼的解決方案~

來源:互聯網
上載者:User

標籤:

1.幾個路徑:

ubuntu: /etc/default/locale  相當於 centos:/etc/sysconfig/i18n

vimrc的路徑:① ~/.vimrc    ② /etc/vim/vimrc

2. 解決方案:

①添加語言支援
$sudo vim /var/lib/locales/supported.d/local#
添加下面的中文字元集zh_CN.GBK GBK
zh_CN.GB2312 GB2312
zh_CN.GB18030 GB18030
使其生效:$sudo dpkg-reconfigure locales
②vi ~/.vimrc(如果vi /etc/vim/vimrc的話,不知道為什麼滿屏都是高亮的屏蔽字 = =!)③
set fileencodings=utf-8,gbkset termencoding=utf-8,gbk (這裡gbk是我自己添加的,因為使用的系統是xp,xp內部使用的編碼為gbk,termencoding這個欄位又是跟終端顯示編碼有關)set encoding=prc

3.編碼的基礎知識 in case i forget this someday

Vim中有幾個選項會影響對多位元組編碼的支援:①encoding(enc):encoding是Vim的內部使用編碼,encoding的設定會影響Vim內部的Buffer、訊息文字等。在 Unix環境下,encoding的預設設定等於locale;
Windows環境下會和當前字碼頁相同。在中文Windows環境下encoding的 預設設定是cp936(GBK)。②fileencodings(fenc):Vim在開啟檔案時會根據fileencodings選項來識別檔案編碼,fileencodings可以同時設定多個編碼,Vim會根據設定的順序來猜測所開啟檔案的編碼。③fileencoding(fencs) :Vim在儲存建立檔案時會根據fileencoding的設定編碼來儲存。如果是開啟已有檔案,Vim會根據開啟檔案時所識別的編碼來儲存,除非在儲存時重新設定fileencoding。④termencodings(tenc):在終端環境下使用Vim時,通過termencoding項來告訴Vim終端所使用的編碼。

Vim中的編碼轉換

Vim內部使用iconv庫進行編碼轉換,如果這幾個選項所設定的編碼不一致,Vim就有可能會轉換編碼。開啟已有檔案時會從檔案編碼轉換到encoding所設定的編碼;
儲存檔案時會從encoding設定的編碼轉換到fileencoding對應的編碼。經常會看到Vim提示[已轉換],這是表明Vim內部作了編碼轉換。
終端環境下使用Vim,會從termencoding設定的編碼轉換到encoding設定的編碼。
ps:可以用|:help encoding-values|列出Vim支援的所有編碼。

4. 改變已存在檔案的編碼方法:

① 比如將GBK的格式轉換成utf-8格式:方法:先開啟檔案,使用命令::set fileencoding=utf-8②使用iconv命令:[[email protected] ~]# iconv --list[[email protected] ~]# iconv -f 原本編碼 -t 新編碼 filename [-o newfile]選項與參數:--list :列出 iconv 支援的語係數據-f     :from ,亦即來源之意,後接原本的編碼格式;-t     :to ,亦即後來的新編碼要是什麼格式;-o file:如果要保留原本的檔案,那麼使用 -o 新檔名,可以建立新編碼檔案。範例一:將 /tmp/vitest/vi.big5 轉成 utf8 編碼吧![[email protected] ~]# cd /tmp/vitest[[email protected] vitest]# iconv -f big5 -t utf8 vi.big5 -o vi.utf8[[email protected] vitest]# file vi*vi.big5: ISO-8859 text, with CRLF line terminatorsvi.utf8: UTF-8 Unicode text, with CRLF line terminatorsPS:引用自《鳥哥的私房菜》~~~

5.參考資料:

http://blog.chinaunix.net/uid-26808060-id-4338345.htmlhttp://www.cnblogs.com/xkfz007/archive/2011/11/17/2252019.html

 

win使用telnet到ubuntu下vim顯示中文為亂碼的解決方案~

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.