欧卡2中文社区

 找回密码
 立即注册

QQ登录

只需一步,快速开始

需要三步,才能开始

只需两步,慢速开始

玩欧卡就用莱仕达V99方向盘欧卡2入门方向盘选莱仕达V9莱仕达折叠便携游戏方向盘支架欢迎地图Mod入驻
查看: 5842|回复: 0
收起左侧

用 VIM,GEDIT 打开不同编码的文件

[复制链接]
script 发表于 2012-11-16 20:37 | 显示全部楼层 |阅读模式

一、gedit
1、在终端运行 gconf-editor;
2、弹出“配置编辑器”,选择“apps→gedit-2→preferences→encodings”,双击右面的“autodetected”,弹出“编辑键”。点击“添加”,输入GB18030后确定,并把GB18030移到第二。

二、vi、vim
在使用VIM 的时候,因为打开的文件编码不同,有时会出现乱码。其实在VIM7.0 中已经考虑到这个问题了。只要在 ~/.vimrc 中进行如下设置就可以打开任何文件,而不会再有乱码问题。Debian4.0 还可以放在/etc/vim/vimrc.local 中,避免自己目录中的点文件太多。
set encoding=utf8
set fileencodings=utf8,gbk

下面对以上设置进行简单地解释,更详细的请用 :help encoding 自己看。
第一句设置VIM 中使用的编码方式。它将影响保存在缓存、寄存器、表达式以及viminfo 文件中文本。总之,这会影响所有VIM 能处理的文本。需要注意的是,如果在编辑时临时改变这个参数,对VIM 中当前存在的文本没什么影响,但可能会使一些非ASC 码出现问题。通常,保持起始时的默认值,或者在启动VIM 时就设定好它。如本例中的做法。对于GTK+2 的程序,强烈建议使用utf-8 编码。设置时默认utf8 是utf-8 的别名。
第二句设置文件编码。这个fileencodings 不同于上面的encoding。它只在读写文件时才会发挥作用。看了上面的语句,你可能已经猜到,它其实是一个可选的字符编码列表。当读写文件时,VIM 会优先用utf8 进行尝试,如果不行的话就转到第二条,在这里就是gbk。如果以上两条都不行,也就是说这个文件中的编码比较混乱,即有utf8 和gbk 都无法处理的字符,VIM 就会自动把fileencodings 这条语句清空,即set fileencodings= ,同时它会强制使用跟encoding 一样的编码读写文件。不过,在绝大多数情况下,不可能有这样的文件
;-) 呵呵。
其实VIM 中还有一个类似的参数叫fileencoding,它才是真正在读写文件时起作用的参数,但只需设定了fileencodings 就可以不用管它了。注意有无“s”!有关这两者的密切关系,请自行去看 help。
还有最后一点要说明的是:当以上转换发生在utf8或其它utf变体之间时,没任何问题。但当encoding 不是utf8 时,可能会导致一点非ACS 码的问题。如果想克服这个问题的话,请使用++bad=keep,如在保存文件时用 :w ++bad=keep,但这么做有可能使问题更严重。
PS:++bad 参数我没用过,因为如我所讲,绝大多数情况下不可能有这样的文件。

如果你不想按以上所说在系统中设定这两个参数,只想能正常读写不同编码的文件,请不
要担心。VIM 还有一个很好的临时性的方法。像这样 :edit ++enc=big5 filename,就可以
big5 编码方式打开一个文件了。保存时用 :w ++enc=big5 filename。big5 可以换成你机器上有的locale 中的任意一种。前提是你的机器能正常显示。祝用得开心!

联系我们|手机版|欧卡2中国 ( 湘ICP备11020288号-1 )

GMT+8, 2024-12-27 14:48 , Processed in 0.030453 second(s), 7 queries , Redis On.

Powered by Discuz! X3.4

Copyright © 2001-2023, Tencent Cloud.

快速回复 返回顶部 返回列表