vim、gvim在windows下中文乱码的终极解决方案
- 七月 28th, 2007
vim、gvim在windows下中文乱码的终极解决方案
在windows下vim的中文字体显示并不好,所以我们需要调整字体显示编码为utf-8,只有这样才能使用美观的中文。这时候可能出现很多中文乱码。
如:
文件显示乱码、菜单乱码、右键菜单乱码、conlse输出乱码、文件关联右键菜单乱码等等。
网上很多解决办法,但我试了很多,都出现一些怪异的乱码,顾此失彼。
有个简单的方法解决乱码问题:删除vim下的lang目录。但这样所有菜单只能显示英文了。
于是只好自己想办法。经过长时间摸索,总结下边的代码可以彻底解决这些问题。
"""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
" vim7.1在windows下的编码设置。By Huadong.Liu
""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""""
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
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
TEST..
为什么我用了这个_vimrc后,中文没有如图所示的美观,在consol下汉字是乱码呢?
老兄可否把你的配色方案发出来?
先谢了
我平时用两个配色,这个名字叫ps_color,不过我更喜欢oceandeep的配色。
这位兄台乱码解决了么?
if has(”gui_running”)
set encoding=utf-8
set fileencodings=utf-8,chinese,latin-1
if has(”win32″)
set fileencoding=chinese
else
set fileencoding=utf-8
endif
let &termencoding=&encoding
” 解决菜单乱码
source $VIMRUNTIME/delmenu.vim
source $VIMRUNTIME/menu.vim
” 解决consle输出乱码
language messages zh_CN.utf-8
endif
这样可以让 vim 不再显示乱码,gvim也不再显示乱码
想请教一下你,这下面这段是干什么用的,为什么不直接把fileencoding设置成utf-8,而要做一个判断?
set fileencoding=chinese
else
set fileencoding=utf-8
endif
其实可以简单理解为vim和gvim的判断