Chinaunix首页 | 论坛 | 博客
  • 博客访问: 465386
  • 博文数量: 104
  • 博客积分: 3455
  • 博客等级: 中校
  • 技术积分: 1216
  • 用 户 组: 普通用户
  • 注册时间: 2009-01-18 18:33
文章分类

全部博文(104)

文章存档

2015年(3)

2014年(1)

2013年(7)

2012年(8)

2011年(11)

2010年(18)

2009年(56)

我的朋友

分类:

2009-08-18 17:26:17

网上的资料比较乱,自己整理了一份,正确与否有待查证!

简介
encoding(enc)        该选项使用于缓冲的文本(你正在编辑的文件),寄存器,Vim 脚本文件等等.你可以
                     把 'encoding' 选项当作是对 vim 内部运行机制的设定.
fileencoding(fenc)   该选项是vim写入文件时采用的编码类型.
fileencodings(fencs) 打开文件时进行编码猜测的编码列表,最后把选择的编码赋值给fenc.
termencoding(tenc)   该选项代表输出到客户终端(Term)采用的编码类型.
默认值
encoding      与系统当前locale相同.修改enc不会转换文件本身的编码,该值只是vim内部处理的编码.
fileencoding  vim打开文件时自动辨认其编码,fileencoding就为辨认的值.为空则保存文件时采用
              encoding的编码.
termencoding  默认空值,也就是输出到终端不进行编码转换,即为encoding.(应该设置该值与终端使用的
              编码一样,Secure CRT为ASCII,Putty为unicode)

强制编码
:edit ++enc=utf8     该条命令表示把utf8作为文件的识别编码重新打开文件,并设置fenc为相同编码.
注:该命令不是修改enc,这点很容易误解.此处的enc不是encoding的缩写.
   它只是强制vim把文件识别为该编码,只修改fenc为该编码,并没有修改enc.



我认为的流程:
1,vim根据fencs列表自动识别文件编码,并设置fenc为识别的编码.(自动识别易出错,可通过上述命令强制编码)
2.vim把文件识别的编码(同fenc)转换为enc编码进行内部处理.
3.vim把enc编码转换为tenc编码传送给终端进行显示.
4.vim把enc编码转换为fenc编码进行文件保存.
5.vim把终端输入的值识别为tenc编码并转换为enc编码进行内部编辑处理.

编码的转换都通过调用 iconv库 来完成.
阅读(1486) | 评论(0) | 转发(0) |
0

上一篇:Perl中的IO操作

下一篇:Perl编码

给主人留下些什么吧!~~