首页 > 代码库 > linux vi 编码之中文乱码问题

linux vi 编码之中文乱码问题

vim编码方面的基础知识:

1,存在3个变量:

encoding:该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等。你可以把“encoding”选项当作是对 Vim 内部运行机制的设定。

fileencoding:该选项是vim写入文件时采用的编码类型,即vim中使用set fileencoding查看。

termencoding:该选项代表输出到客户终端Term)采用的编码类型。

2,此3个变量的默认值:

encoding与系统当前locale相同,所以编辑文件的时候要考虑当前locale,否则要设置的东西就比较多了。

fileencodingvim打开文件时自动辨认其编码,fileencoding就为辨认的值。为空则保存文件时采用encoding的编码,如果没有修改encoding,那值就是系统当前locale了。

termencoding:默认空值,也就是输出到终端不进行编码转换。

由此可见,编辑不同编码文件需要注意的地方不仅仅是这3个变量,还有系统当前locale和、文件本身编码以及自动编码识别、客户运行vim的终端所使用的编码类型3个关键点,这3个关键点影响着3个变量的设定。

 

Ref:本地文档“linux*系统编码”


本文出自 “90SirDB” 博客,请务必保留此出处http://90sirdb.blog.51cto.com/8713279/1927519

linux vi 编码之中文乱码问题