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

vim编码设置(转)的更多相关文章

  1. iconv内容,convmv文件名,unix2dos,dos2unix文件格式转换,od/cut/wc/dd/diff/uniq/nice/du等命令,linux文件名乱码,文件名,文件内容,vim编码设置

    1.enconv文件名编码转换,比如要将一个GBK编码的文件转换成UTF-8编码,操作如下 enconv -L zh_CN -x UTF-8 filename enconv -L GB2312 -x  ...

  2. vim编码设置

    转载于:http://www.cnblogs.com/freewater/archive/2011/08/26/2154602.html vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以 ...

  3. vim字符编码设置

    vim 编码方式的设置 和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括UCS-2.UTF-8 等流行的 Unicode 编码方式.然而不幸的是,和很多来自 Linux ...

  4. VIM的字符编码设置

    vim 编码方式的设置和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括UCS-2.UTF-8 等流行的 Unicode 编码方式.然而不幸的是,和很多来自 Linux ...

  5. vim各种编码设置问题

    vim各种编码设置问题 vim中主要有四个编码相关的设置,详细是~/.vimrc中: 下面是我的设置: set fileencodings=gb18030,utf-8,gb2312,gbk: set ...

  6. vim 编码方式的设置

    和所有的流行文本编辑器一样,Vim 可以很好的编辑各种字符编码的文件,这当然包括UCS-2.UTF-8 等流行的 Unicode 编码方式.然而不幸的是,和很多来自 Linux 世界的软件一样,这需要 ...

  7. VIM编码检查

    trouble shooting https://www.django.cn/article/show-4.html https://blog.csdn.net/lh756437907/article ...

  8. vim编码相关

    与vim编码相关的四个配置: encoding:vim核心编码,所有vim交换区,信息提示区都用这个编码.打开文件的编码如果是其他编码,会自动转换为核心编码,保存时再转回文件编码. fileencod ...

  9. Vim编码知识,乱码问题

    原文:http://demi-panda.com/2012/12/26/vim-encoding/ 在vim的初始学习阶段,乱码经常是困扰新手的一个比较烦躁的问题,本文试图阐述Vim的编码知识,及设置 ...

随机推荐

  1. shell 中单引号和双引号的区别

    用以下代码来说明: #!/bin/bash url="http://c.biancheng.net" website1='C语言中文网:${url}' website2=" ...

  2. 关于Arrays类的静态方法asList()

    Array.asList():是数组转成集合的方法 List<String> list = Arrays.asList(new String[]{"AA", " ...

  3. UVA1104 Chips Challenge

    一.题目 有一个 \(n\times n\) 的矩阵,每个元素可能是 ..C./ 的其中一种,分别表示可以放置芯片.已经放置了芯片.不能放置芯片,你可以分别决定是否可以放置芯片的位置放置芯片. 最后需 ...

  4. 找第k个结点 剑指22

    这道题很简单,利用双指针. 主要是以下几个注意点 1. 判断链表是否为空 2. 判断k是否为0,若为0无意义 3.判断k是否超出了链表长度 /** * Definition for singly-li ...

  5. 关于 better-scroll 设置了以后无法滚动或不生效的问题

    首先在mounted里面注册组件  例:let scroll = new BScroll("#commondityLeftList")   然后打印实例化对象,例:console. ...

  6. Java 源码如何分析?

    如何阅读源码?万事开头难,源码从哪里开始看?我也是刚对源码的阅读研究不深,但是可以谈谈自己的源码阅读感受. 刚开始吧,只是对某些代码的实现原理感到好奇,好奇是怎么实现这种功能,实现这种效果的,对其背后 ...

  7. 大爽Python入门教程 1-2 数与字符串

    大爽Python入门公开课教案 点击查看教程总目录 1 整数与浮点数 整数大家都知道,比如1, 2, 10, 123, 都是整数int. 浮点数是什么呢? 上一节的除法运算,不知道有没有人注意到,其结 ...

  8. python中jsonpath模块,解析多层嵌套的json数据

    1. jsonpath介绍用来解析多层嵌套的json数据;JsonPath 是一种信息抽取类库,是从JSON文档中抽取指定信息的工具,提供多种语言实现版本,包括:Javascript, Python, ...

  9. JDBC连接MySQL数据库代码

    ******************************************************1********************************************* ...

  10. Ultraedit和写字板修改Tomcat 6.0的server.xml不生效

    转:http://blog.csdn.net/greencacti/article/details/6615321 本人在修改Tomcat 6.0的server.xml的时候,发现写字板修改完保存的时 ...