vim、gvim 在 windows 下中文亂碼的終極解決方案


vim、gvim 在 windows 下中文亂碼的終極解決方案

windowsvim的中文字體顯示並不好, 所以我們需要調整字體顯示編碼為utf-8, 只有這樣才能使用美觀的中文.

這時候可能出現很多中文亂碼. 如 : 文件顯示亂碼、菜單亂碼、右鍵菜單亂碼、conlse輸出亂碼、文件關聯右鍵菜單亂碼等等.

亂碼

  • 有個簡單的方法解決亂碼問題:刪除vim下的lang目錄。但這樣所有菜單只能顯示英文了

  • 上面的方法終歸治標不治本, 經過嘗試, 總結下邊的代碼可以徹底解決這些問題。

" Gvim中文菜單亂碼解決方案 " 設置文件編碼格式 set encoding=utf-8 set fileencodings=utf-8,chinese,latin-1,gbk,gb18030,gk2312 if has("win32") set fileencoding=chinese else set fileencoding=utf-8 endif "解決菜單亂碼 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim "解決consle提示信息輸出亂碼 language messages zh_CN.utf-8

解決中文亂碼

Vim 有四個跟字符編碼方式有關的選項,encoding、fileencoding、fileencodings、termencoding (這些選項可能的取值請參考 Vim 在線幫助 :help encoding-names),它們的意義如下:

選項 描述
encoding Vim 內部使用的字符編碼方式,包括 Vim 的 buffer (緩沖區)、菜單文本、消息文本等
fileencoding Vim 中當前編輯的文件的字符編碼方式,Vim 保存文件時也會將文件保存為這種字符編碼方式 (不管是否新文件都如此)
fileencodings Vim 啟動時會按照它所列出的字符編碼方式逐一探測即將打開的文件的字符編碼方式,並且將 fileencoding 設置為最終探測到的字符編碼方式。因此最好將 Unicode 編碼方式放到這個列表的最前面,將拉丁語系編碼方式 latin1 放到最后面
termencoding Vim 所工作的終端 (或者 Windows 的 Console 窗口) 的字符編碼方式。這個選項在 Windows 下對我們常用的 GUI 模式的 gVim 無效,而對 Console 模式的 Vim 而言就是 Windows 控制台的代碼頁,並且通常我們不需要改變它

用英文菜單和提示最好,可以免去下面對菜單和提示信息(B,C部分)的設置。如果用英文菜單和提示在安裝gvim的時候,將支持本地語言的選項去掉。

打賞

免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號  © 2018-2021 CODEPRJ.COM