493333王中王开奖结果-王中王开奖一马中特

493333王中王开奖结果让不同类型的网络可以可靠地互相联接,王中王开奖一马中特拥有规模庞大的原创游戏,在这里您将享受的不一样快乐。

网络频道

当前位置:493333王中王开奖结果 > 网络频道 > Linux下使用vim打开文件乱码问题解决方案493333王中

Linux下使用vim打开文件乱码问题解决方案493333王中

来源:http://www.soniaLorenzana.com 作者:493333王中王开奖结果 时间:2019-10-20 10:45

注:这种方法会有一个BUG:就是 GBK 编码的“联通”被误判为 UTF-8 编码,
不过这种情况只发生在一个gbk编码的文件中只有"联通"两个汉字。文件中包含“联通”这个词并不会有任何问题,

解决方案1:首先要修正fileencoding为cp936或者euc-cn(二者一样的,只不过叫法不同),注意修正的方法不是:set fileencoding=cp936,这只是将文件保存为cp936,正确的方法是重新以cp936的编码方式加载文件为:edit ++enc=cp936,可以简写为:e ++enc=cp936。

方案一:修改.vimrc文件

可以参考我的设置

set fileencoding=gb18030

"设定文件编码类型,彻底解决中文编码问题

:FencManualEncoding coding 手动设置文件编码,用你想使用的编码代替coding

 

493333王中王开奖结果 1

2.文件的编码以及自动编码识别----这方面牵扯到各种编码的规则,就不一一细讲了。但需要明白的是,文件编码类型并不是保存在文件内的,也就是说没有任何描述性的字段来记录文档是何种编码类型的。因此我们在编辑文档的时候,要么必须知道这文档保存时是以什么编码保存的,要么通过另外的一些手段来断定编码类型,这另外的手段,就是通过某些编码的码表特征来断定,例如每个字符占用的字节数,每个字符的ascii值是否都大于某个字段来断定这个文件属于何种编码。这种方式vim也使用了,这就是vim的自动编码识别机制了。但这种机制由于编码各式各样,不可能每种编码都有显著的特征来辨别,所以是不可能 100%准确的。对于我们GB2312编码,由于其中文是使用了2个acsii值高于127的字符组成汉字字符的,因此不可能把gb2312编码的文件与 latin1编码区分开来,因此自动识别编码的机制对于gb2312是不成功的,它只会将文件辨识为latin1编码。此问题同样出现在gbk,big5 上等。因此我们在编辑此类文档时,需要手工设定encoding和fileencoding。如果文档编码为utf-8时,一般vim都能自动识别正确的编码。

方案二:安装vim插件

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

点击这里下载。

答案是不确定的,原因上面已经讲了,不搞清楚这3个关键点和这3个变量的设定值,出现乱码是正常的,倒是不出现乱码那反倒是凑巧的。

推荐水木社区的 mbbill 开发的 fencview 插件。
该插件使用词频统计的方式识别编码,正确率非常高。

 

编码的前后顺序代表了vim在识别文件编码使用的优先次序,所以在不了解的情况下不要更改上述编码的次序

再来看一下常见情况下这三个关键点的值以及在这种情况下这3个变量的值:

同样,如果你遇到了其它乱码的情况时,如果你知道文件使用的编码,也可以将fileencoding暂设置成文件使用的编码即可解决。

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

经过我的测试,这种方法没有上面经典的“联通”识别错误的BUG

[vim编码方面的基础知识]

启用插件的时候,在vim命令模式下输入以下命令


下载完后把它移动到vim插件目录,vim7.2默认应该是/usr/share/vim/vim72/plugin/

解决方案2:与上面方案2类似,不过最后一步修改termencoding省略即可,在此情况下需要的修改最少,只要以locale为zh_CN开启 vim,则encoding=euc-cn,fileencoding和termencoding都为空即为encoding的值,是最理想的一种情况。

set fileencodings=ucs-bom,utf-8,cp936,gb18030,big5,euc-jp,euc-kr,latin1

vim中编辑不同编码的文件时需要注意的一些地方

添加下面一行代码

1,存在3个变量:

:FencView 在编码列表中选择文件的编码

fileencoding----该选项是vim写入文件时采用的编码类型。

之后再改回去即可。

http://www.bkjia.com/Linuxjc/549243.htmlwww.bkjia.comtruehttp://www.bkjia.com/Linuxjc/549243.htmlTechArticleVIM查看中文编码文件显示为乱码的解决办法 修改你的.vimrc文件,让其支持 gb2312就行,会自动识别的。 可以参考我的设置 代码: 设定文件编...

所以这种情况发生的可能性是极低的,只要知道这种情况就行了。如果这种情况真的发生了,你可以临时将上面的代码改成

按照karron的方法解决了终端中vi看中文字问题。

:FencAutoDetect 自动检测文件编码 (推荐)

2.情况与1基本相同,只是使用的ssh软件为secure CRT类ansi类软件。

此文讲解的是vim编辑多字节编码文档(中文)所要了解的一些基础知识,注意其没有涉及gvim,纯指字符终端下的vim。

 

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

 

本文由493333王中王开奖结果发布于网络频道,转载请注明出处:Linux下使用vim打开文件乱码问题解决方案493333王中

关键词: