所属类别:Linux
文章作者:lutao626
特别推荐:免费发布信息 承包关键词~~抢爆了!HOT!
在Vim中,有四个与编码有关的选项,它们是:''fileencodings''、''fileencoding''、''encoding''和''termencoding''。在实际使用中,任何一个选项出现错误,都会导致出现乱码。因此,每一个Vim用户都应该明确这四个选项的含义。下面,我们详细介绍一下这四个选项的含义和作用。*encoding''encoding''是Vim内部使用的字符编码方式。 当我们设置了''encoding''之后,Vim内部所有的buffer、寄存器、脚本中的字符串等,全都使用这个编码。Vim在工作的时候,如果编码方式与它的内部编码不一致,它会先把编码转换成内部编码。如果工作用的编码中含有无法转换为内部编码的字符,在这些字符就会丢失。 因此,在选择Vim的内部编码的时候,一定要使用一种表现能力足够强的编码,以免影响正常工作。 由于''encoding''选项涉及到Vim中所有字符的内部表示,因此只能在Vim启动的时候设置一次。在Vim工作过程中修改''encoding''会造成非常多的问题。如果没有特别的理由,请始终将 ''encoding''设置为''utf-8''。 为了避免在非UTF-8的系统如Windows下,菜单和系统提示出现乱码,可同时做这几项设置:#Codesyntax="vim"<<---setencoding=utf-8setlangmenu=zh_CN.UTF-8languagemessagezh_CN.UTF-8*termencoding''termencoding''是Vim用于屏幕显示的编码,在显示的时候,Vim会把内部编码转换为屏幕编码,再用于输出。内部编码中含有无法转换为屏幕编码的字符时,该字符会变成问号,但不会影响对它的编辑操作。如果''termencoding''没有设置,则直接使用''encoding''不进行转换。 举个例子,当你在Windows下通过telnet登录Linux工作站时,由于Windows的telnet是GBK编码的,而Linux下使用UTF-8编码,你在telnet下的Vim中就会乱码。此时有两种消除乱码的方式:一是把Vim的''encoding''改为''gbk'',另一种方法是保持''encoding''为''utf-8'',把''termencoding''改为''gbk'',让Vim在显示的时候转码。显然,使用前一种方法时,如果遇到编辑的文件中含有GBK无法表示的字符时,这些字符就会丢失。但如果使用后一种方法,虽然由于终端所限,这些字符无法显示,但在编辑过程中这些字符是不会丢失的。 对于图形界面下的GVim,它的显示不依赖TERM,因此''termencoding''对于它没有意义。在GTK2下的GVim中,''termencoding''永远是''utf-8'',并且不能修改。而Windows下的GVim则忽略''termencoding''的存在。
相关信息· 学习J2ME编程需要掌握的七种技术
· 使用 Wine 在 Linux 上运行 Google Chrome
· 用飞狐反转坐标功能判断股票顶和底
· 网上创业 成功与否取决于你的态度
64838
40282
