vim乱码解决方法:
只想改当前文件的编码方式的话,只需要在命令模式下输入:
:set encoding=utf-8 :set fileencoding=utf-8
在根目录下新建一个.vimrc文件,在里面写上
let &termencoding=&encoding set fileencodings=utf-8,gbk,ucs-bom,cp936
或者找到文件.vimrc后,将下面代码加入即可:
""""""""""""""""""""""""""""" "解决windows下的中文乱码问题 """"""""""""""""""""""""""""" set encoding=utf-8 "set termencoding=utf-8 set fileencodings=ucs-bom,utf-8,chinese,latin-1 if has("win32") set fileencoding=chinese else set fileencoding=utf-8 endif "解决中文菜单乱码 set langmenu=zh_CN.utf-8 source $VIMRUNTIME/delmenu.vim source $VIMRUNTIME/menu.vim "解决console输出乱码 language messages zh_cn.utf-8
注:Vim中有几个选项会影响对多字节编码的支持:
encoding(enc):encoding是Vim的内部使用编码,encoding的设置会影响Vim内部的 Buffer、消息文字等。在Unix环境下,encoding的默认设置等于locale;Windows环境下会和当前代码页相同。在中文 Windows环境下encoding的默认设置是cp936(GBK)。
fileencodings(fencs):Vim在打开文件时会根据fileencodings选项来识别文件编码,fileencodings可以同时设置多个编码,Vim会根据设置的顺序来猜测所打开文件的编码。
fileencoding(fenc) :Vim在保存新建文件时会根据fileencoding的设置编码来保存。如果是打开已有文件,Vim会根据打开文件时所识别的编码来保存,除非在保存时重新设置fileencoding。
termencodings(tenc):在终端环境下使用Vim时,通过termencoding项来告诉Vim终端所使用的编码。