(1)读文件      VIM打开文件时,并不知道文件的字符编码,所以不得不进行探测。探测是按照一定的优先顺序进行测试。     依据的标准就是:fileencodings。VIM逐一测试fileencodings变量指定的字符编码方式,找到合适的将其设置为fileencoding变量。     然后把文件中的编码转换成encoding指定的编码方式,存入文件缓冲区中。    (2)显示文件      VIM把文件读取完毕并以encoding编码存放到缓冲区内存之后,会根据termencoding指定的终端编码方式,转换成termencoding编码后,写入到终端。     此时,终端按照自身的编码属性识别出一个个的字符,调用渲染引擎绘制到屏幕上。   (3)保存文件      VIM把缓冲区中的encoding编码的字节集合转换成fileencoding编码后写入磁盘,完成文件保存。   可以看出,VIM涉及到的3种字符编码之间的转换:         读:fileencoding—–> encoding         显:encoding ——> termencoding         写:encoding ——-> fileencoding   设置VIM配置文件~/.vimrc,在配置文件中加入下面的配置:
set fileencodings=utf-8,ucs-bom,gb18030,gbk,gb2312,cp936
set termencoding=utf-8
set encoding=utf-8

 

----------------- 遇到的一个问题 一个文件里边有utf-8与gbk两种格式,vim判断不出格式,fileencoding=latin1,导致两种格式显示都不正确
扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。