vim里面的编码主要跟三个参数有关:enc(encoding)、fenc(fileencoding)、fence(fileencodings)

fenc是当前文件的编码,也就是说,一个在vim里面已经正确显示了的文件(前提是你的系统环境跟你的enc设置匹配),你可以通过改变fenc后再w来将此文件保存成不同的编码。比如说,我:set fenc=utf-8,然后:w,就把文件保存成utf-8的了,:set fenc=gb18030,再:w,就把文件保存成gb18030的了。这个值对于打开文件的时候是否能够正确的解码没有任何关系。

fencs,是用来在打开文件的时候进行解码的猜测列表。文件编码没有百分之百正确的判断方法,所以vim

只能猜测文件编码。

enc,其作用是显示,不管最后的文件是什么编码的,vim都将其转换为当前系统编码来进行处理,这样才能在当前系统里正确的显示出来,因此enc就是干这个的。在windows下面,enc默认值是cp936,这也就是中文windows的默认编码,所以enc是不需要改的。在linux下,随着你的系统locale可能设为zh_CH.gb18030或者zh_CH.utf-8,你的enc要对应的设为gb18030或者utf-8(或者gbk之类的)。而本人遇到系统locale是en_US.UTF-8,不设置enc显示不了中文,最后配置enc为utf-8才能显示。

最后给出linux编码全部是UTF-8,vim可以显示中文的vimrc文件配置:

set fileencodings=utf-8,gb2312,gbk,gb18030,big5
set fenc=utf-8
set enc=utf-8

最新文章

  1. 去掉Win7快捷方式小箭头(win10通用)
  2. MySQL 启动服务报错解决方案
  3. Linux make: g++: Command not found
  4. stm32 按键
  5. 2016年第七届蓝桥杯C/C++程序设计本科B组决赛
  6. IIS和tomcat共用80端口
  7. 【leetcode】Search in Rotated Sorted Array (hard)
  8. JAVa中进制之间的转化方法
  9. “连不上 ArcGIS License Manager ”的一点常用诊断方法
  10. JavaScript对象 属性
  11. JavaScript数值转换总结
  12. [原]Unity3D深入浅出 - 脚本开发基础(Scripts)
  13. 临时禁用Resharper
  14. jQuery实现鼠标移到元素上动态提示消息框效果
  15. 很少有人知道的c++中的try块函数
  16. php 基础算法(用*表示金字塔)通过hash 比較两个数组同样的数
  17. Simple Use IEnumerable<T>
  18. Redis中Pipeline的使用
  19. [转]10+倍性能提升全过程--优酷账号绑定淘宝账号的TPS从500到5400的优化历程
  20. textmate常用快捷键备忘

热门文章

  1. hash 哈希表 缓存表
  2. 攻防世界 WEB 高手进阶区 XCTF Web_php_unserialize Writeup
  3. let that = this用法解析
  4. es聚合查询语法
  5. flask gevent
  6. 《Python语言程序设计》【第1周】Python基本语法元素
  7. 【linux系统】命令学习(六)awk sed grep 与管道的使用
  8. Eclipse使用JDBC方式连接SQLServer2008
  9. JVM的Xms Xmx PermSize MaxPermSize区别
  10. linux中为何每次修改完配置文件后都需要重新加载配置文件