VIM 编码格式 显示乱码

在开发跨平台项目中,由于windows和Linux环境下的编码格式不同,在Ubuntu系统中使用VIM编辑代码时中文显示乱码,设置VIM配置文件~/.vimrc,在配置文件中加入下面的配置:

    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

    set termencoding=utf-8

    set encoding=utf-8

虽然该方式能解决中文显示乱码的问题,但会造成文件中中文编码改变,使用svn或git管理代码时,这些编码改变会被识别为改变。

VIM编码格式中常用的配置选项有4种,分别是encoding、fileencoding、fileencodings、termencoding。

   1. encoding        :VIM 使用的字符编码格式,包括 VIM 的 buffer (缓冲区)、菜单文本、消息文本等。可在~/.vimrc 中改变它的值,如果打开的文件编码与该属性配置的编码不同,那么VIM会将编码自动转换到这种编码然后再显示。

   2. fileencoding   :VIM 当前编辑的文件的字符编码方式,VIM保存文件时也会将文件保存为这种字符编码方式 (不管是否新文件都如此);如果它的值与encoding不一样,那么保存的时候VIM会自动把文件内容由encoding的编码转换为fileencoding配置编码再保存。而读取文件的时候,该选项的值会自动同步为fileencodings配置的有效编码。

   3. fileencodings :此项目配置的是一个编码列表,止Vim在读取文件的时候,会按照它所列出的字符编码方式逐一探测即将打开的文件的字符编码方式,并且将 fileencoding 设置为最终探测到的字符编码方式。因此最好将 Unicode 编码方式放到这个列表的最前面。

   4. termencoding :VIM 所工作的终端 (或者 Windows 的 Console 窗口) 的字符编码方式。这个选项在 Windows 下对我们常用的 GUI 模式的 gVim 无效,而对 Console 模式的 Vim 而言就是 Windows 控制台的代码页,并且通常我们不需要改变它。

所以,在设置~/.vimrc设置如下:

    set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936

    set fileencoding=gbk

    set termencoding=utf-8

    set encoding=utf-8

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值