windows下gVim使用mingw编译运行程序中文乱码,江湖救急!
展开全部
编码问题!
应该涉及到两个选项。
你分别用
:set encoding?
:set fileencoding?
查看是否是cp936
MS CMD.exe 是GBK(CP936)编码,如果vim里的编码是utf-8输出当然出错。
encoding是vim界面及输入时的编码
fileencoding是保存文件的编码
试一试
:set encoding=cp936
:set fileencoding=cp936
应该涉及到两个选项。
你分别用
:set encoding?
:set fileencoding?
查看是否是cp936
MS CMD.exe 是GBK(CP936)编码,如果vim里的编码是utf-8输出当然出错。
encoding是vim界面及输入时的编码
fileencoding是保存文件的编码
试一试
:set encoding=cp936
:set fileencoding=cp936
更多追问追答
追问
我的_vimrc的设置:
set encoding=utf-8
set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1,chinese
set termencoding=cp936
if has("win32")
set fileencoding=chinese
else
set fileencoding=utf-8
endif
我按照你的方式改了,但是进入gvim之后,界面里面的中文就乱码了~
追答
(一)界面乱码
把 set encoding=utf-8 这行去掉。应为windows下 gvim 默认编码是cp936。
如果你不去掉这一行,可以试一试这样打开,也不会乱码
1.打开cmd,2输入set LANG=zh_CN.UTF-8 3输入cd 到gvim安装目录 4输入 gvim
如果菜单中英夹杂把这些加上。
set nocompatible
source $VIMRUNTIME/vimrc_example.vim
source $VIMRUNTIME/mswin.vim
behave mswin
(二)是打开的文件乱码?
vim自动识别编码的能力很弱的,
(1)如果打开文件后乱码,并且你知道文件的编码,比如utf-8,那么:
:e ++enc=utf-8
其他编码一次类推。
(2)utf-8的bom
unix默认没有BOM,windows默认有BOM
:set bomb
:set nobomb
(3)换行符问题:
:e ++ff=dos
其他dos,mac,unix次类推。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询