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

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

windowsvim的中文字體顯示並很差, 因此咱們須要調整字體顯示編碼爲utf-8, 只有這樣才能使用美觀的中文.git

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

亂碼

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

  • 上面的方法終歸治標不治本, 通過嘗試, 總結下邊的代碼能夠完全解決這些問題。windows

" 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),它們的意義以下:markdown

選項 描述
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的時候,將支持本地語言的選項去掉。字體

相關文章
相關標籤/搜索