Vim中的编码的编码
四种编码
encoding(enc)
该选项是内存中编码,就是程序读取文件会转换为encoding所指向的编码存在内存中
fileencoding(fenc)
该选项是vim写入文件时采用的编码类型。
fileencodings(fencs)
该选项是vim在识别文件时采用的不同编码
termencoding(tenc)
该选项代表输出到客户终端(Term)采用的编码类型。
文件打开写入保存过程
当你打开一个文件,首先从文件读入数据到内存,然后从fileencodings里依次使用各个编码来尝试转换为encoding。如果有一个成功,直接转换显示,否则就取encoding作为fileencoding。
当你保存一个文件,把内存中的数据从encoding转换为fileencoding,然后再写入文件。
TIPS
可以使用:e ++enc=<encoding>
来强制加载某种编码
如果是中文编码,但是不知道是哪种,可以这样e ++enc=chinese
如果一个文件的编码是gbk,想要保存成utf-8,可以这样操作
:e ++enc=gbk
,设置以下当前文件的编码
set fenc=utf-8
,设置文件编码为utf-8
w
,保存