在 Vim 中,有四个与编码有关的选项,它们是:fileencodings
、fileencoding
、encoding
和 termencoding
。
encoding:
encoding
是 Vim 内部使用的字符编码方式,当设置了 encoding之后,vim内部所有 buffer、寄存器、脚本中的字符串都使用这个编码,由于 encoding
选项涉及到 Vim 中所有字符的内部表示,因此只能在 Vim 启动的时候设置一次。在 Vim 工作过程中修改encoding
会造成非常多的问题。如果没有特别的理由,请始终将 encoding
设置为 utf-8
。
fileencoding:
当 Vim 从磁盘上读取文件的时候,会对文件的编码进行探测。如果文件的编码方式和 Vim 的内部编码方式不同,Vim 就会对编码进行转换。转换完毕后,Vim 会将 fileencoding
选项设置为文件的编码。
fileencodings:
fileencodings 是一个用逗号分隔的列表,当我们打开文件的时候,VIM 按顺序使用 fileencodings 中的编码进行尝试解码,如果成功的话,就使用该编码方式进行解码,并将 fileencoding
设置为这个值,如果失败的话,就继续试验下一个编码。
推荐设置:set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1
termencoding:
来源:oschina
链接:https://my.oschina.net/u/347414/blog/714038