原因:windows下默认是gb编码,vim和gedit常常支持的是utf-8,这样windows下的文件在linux下就不能打开,打开并不能正常显示,就会出现所谓的乱码问题。
解决方法:
$vi~/.vimrc
let &termencoding=&encoding
set fileencodings=utf-8,gbk
$:wq
再 次打开vi,显示就正常了。
查看编码与编码转换
查看编码:在Vim中可以直接查看文件编码:set fileencoding即可显示文件编码格式。
转换:
1.如果你只是想查看其它编码格式的文件或者想解决用Vim查看文件乱码的问题,那么你可以在
~/.vimrc(在/etc目录下面) 文件中添加以下内容:
set encoding=utf-8 fileencodings=ucs-bom,utf-8,cp936
其中encoding是vim的默认显示编码格式,fileencodings是vim打开文件时检测的编码格式,存在这种类型的编码即转换为utf-8 编码。
这样,就可以让vim自动识别文件编码(可以自动识别UTF-8或者GBK编码的文件),其实就是依照fileencodings提供的编码列表尝试,如 果没有找到合适的编码,就用latin-1(ASCII)编码打开。
2.在Vim中直接进行转换文件编码,比如将一个文件转换成utf-8格式(不好用)
:set fileencoding=utf-8
3.iconv 转换,iconv的命令格式如下:(未用)
iconv -f encoding -t encoding inputfile
比如将一个UTF-8 编码的文件转换成GBK编码
iconv -f GBK -t UTF-8 file1 -o file2
网友评论