LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 9208|回复: 19

转换 简体繁体中文的 .gvimrc && 在 gvim 里切换 UNIX/Windows

[复制链接]
发表于 2005-3-1 11:48:23 | 显示全部楼层 |阅读模式
我的 locale 是 zh_CN.UTF-8

转换为繁体中文:    点菜单: [编辑] -》 [utf8 convert] -》[utf8->big5]

转换为简体中文:    点菜单: [编辑] -》 [utf8 convert] -》[utf8->gbk]


~/.gvimrc
[php]

"set encoding=chinese
"set langmenu=zh_CN.GBK
"set imcmdline
"set guifont=Serif\ 14
"set guifont="Tangti 14"
set guifont=AR\ PL\ New\ Sung\ 14
"set guifont=AR\ PL\ SungtiL\ GB\ 12
"source $VIMRUNTIME/delmenu.vim
"source $VIMRUNTIME/menu.vim


an 20.4009        &Edit.-SEP6-                           <Nop>
an 20.4009.10      &Edit.MouseStype.&Xterm         :behave xterm<CR>
an 20.4009.11      &Edit.MouseStype.&MsWin         :behave mswin<CR>

an 20.4109        &Edit.-SEP7-                           <Nop>
an 20.4109.10      &Edit.Encoding.&GBK             :set encoding=gbk<CR>
an 20.4109.11      &Edit.Encoding.GB18030          :set encoding=gb18030<CR>
an 20.4109.12      &Edit.Encoding.&Big5            :set encoding=big5<CR>
an 20.4109.13      &Edit.Encoding.&UTF-8           :set encoding=utf-8<CR>
an 20.4109.14      &Edit.Encoding.UTF-16           :set encoding=utf-16<CR>
an 20.4109.15      &Edit.Encoding.EUC-&JP          :set encoding=euc-jp<CR>
an 20.4109.16      &Edit.Encoding.EUC-&KR          :set encoding=euc-kr<CR>


an 20.4119.10     &Edit.Fileencodings.&GBK        :set fileencodings=gbk<CR>
an 20.4119.11     &Edit.Fileencodings.GB18030     :set fileencodings=gb18030<CR>
an 20.4119.12     &Edit.Fileencodings.&Big5       :set fileencodings=big5<CR>
an 20.4119.13     &Edit.Fileencodings.&UTF-8      :set fileencodings=utf-8<CR>
an 20.4119.14     &Edit.Fileencodings.UTF-16      :set fileencodings=utf-16<CR>
an 20.4119.15     &Edit.Fileencodings.EUC-&JP     :set fileencodings=euc-jp<CR>
an 20.4119.16     &Edit.Fileencodings.EUC-&KR     :set fileencodings=euc-kr<CR>

an 20.4129        &Edit.-SEP9-                           <Nop>
"an 20.4119.11     &Edit.zh\ \ convert.gb->big5  :%!autogb -i gb -o big5<CR>

"an 20.4139     &Edit.zh\ \ convert.gb->gb      :%!autogb -i gb -o gb<CR>
an 20.4139     &Edit.gb\ \ convert.gb->big5    :%!autogb -i gb -o big5<CR>
an 20.4139     &Edit.gb\ \ convert.gb->hz      :%!autogb -i gb -o hz<CR>
an 20.4139     &Edit.gb\ \ convert.gb->utf8    :%!autogb -i gb -o utf8<CR>
an 20.4139     &Edit.gb\ \ convert.gb->utf7    :%!autogb -i gb -o utf7<CR>
an 20.4139     &Edit.gb\ \ convert.gb->uni     :%!autogb -i gb -o uni<CR>

an 20.4149     &Edit.big5\ \ convert.big5->gb    :%!autogb -i big5 -o gb<CR>
"an 20.4149     &Edit.zh\ \ convert.big5->big5  :%!autogb -i big5 -o big5<CR>
an 20.4149     &Edit.big5\ \ convert.big5->hz    :%!autogb -i big5 -o hz<CR>
an 20.4149     &Edit.big5\ \ convert.big5->utf8  :%!autogb -i big5 -o utf8<CR>
an 20.4149     &Edit.big5\ \ convert.big5->utf7  :%!autogb -i big5 -o utf7<CR>
an 20.4149     &Edit.big5\ \ convert.big5->uni   :%!autogb -i big5 -o uni<CR>

an 20.4159     &Edit.utf8\ \ convert.utf8->gb    :%!autogb -i utf8 -o gb<CR>
an 20.4159     &Edit.utf8\ \ convert.utf8->big5  :%!autogb -i utf8 -o big5<CR>
an 20.4159     &Edit.utf8\ \ convert.utf8->hz    :%!autogb -i utf8 -o hz<CR>
"an 20.4159     &Edit.zh\ \ convert.utf8->utf8  :%!autogb -i utf8 -o utf8<CR>
an 20.4159     &Edit.utf8\ \ convert.utf8->utf7  :%!autogb -i utf8 -o utf7<CR>
an 20.4159     &Edit.utf8\ \ convert.utf8->uni   :%!autogb -i utf8 -o uni<CR>

[/php]


~/.vimrc
[php]
" 自动补全命令时候使用菜单式匹配列表
set wildmenu

" 启用鼠标
set mouse=a

" 设置多编码文本
"set fileencodings=utf-8,cp936,big5,euc-jp,euc-kr,latin1,ucs-bom
set fileencodings=utf-8,gbk
[/php]






下面是旧的
~/.vimrc
[php]
" multi-encoding setting
if has("multi_byte")
  "set bomb
  set fileencodings=ucs-bom,utf-8,cp936,big5,euc-jp,euc-kr,latin1
  " CJK environment detection and corresponding setting
  if v:lang =~ "^zh_CN"
    " Use cp936 to support GBK, euc-cn == gb2312
    set encoding=cp936
    set termencoding=cp936
    set fileencoding=cp936
  elseif v:lang =~ "^zh_TW"
    " cp950, big5 or euc-tw
    " Are they equal to each other?
    set encoding=big5
    set termencoding=big5
    set fileencoding=big5
  elseif v:lang =~ "^ko"
    " Copied from someone's dotfile, untested
    set encoding=euc-kr
    set termencoding=euc-kr
    set fileencoding=euc-kr
  elseif v:lang =~ "^ja_JP"
    " Copied from someone's dotfile, untested
    set encoding=euc-jp
    set termencoding=euc-jp
    set fileencoding=euc-jp
  endif
  " Detect UTF-8 locale, and replace CJK setting if needed
  if v:lang =~ "utf8$" || v:lang =~ "UTF-8$"
    set encoding=utf-8
    set termencoding=utf-8
    set fileencoding=utf-8
  endif
else
  echoerr "Sorry, this version of (g)vim was not compiled with multi_byte"
endif

[/php]


要求系统里安装了 zh-autoconvert
把这两个文件弄进去就在 gvim 里添加几个菜单了

菜单  [编辑] -》 [utf8 convert]  用来转换编码 , 在 UTF-8 环境下有转换简体繁体的作用


菜单: [编辑] -》 [MouseStyle] 是切换 UNIX 或 MS 风格鼠标行为的
 楼主| 发表于 2005-3-1 12:09:01 | 显示全部楼层
截图:

简体中文原文 , 菜单

转换为繁体中文

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-3-5 23:08:55 | 显示全部楼层
用了 这个 vimrc 文件后
在 UTF-8 的 locale 下编辑其他编码的文件会自动转换

感谢 Carlos
回复 支持 反对

使用道具 举报

发表于 2005-4-10 14:03:33 | 显示全部楼层
我没有安装Gvim那怎么办?
回复 支持 反对

使用道具 举报

发表于 2005-4-10 14:32:39 | 显示全部楼层
没有安装 Gvim 那你根本用不到。kwrite/gedit 哪点不好用?这个东西只是解决非标准环境(UTF-8 是与国家标准冲突的)下中文支持的办法。任何一个发行版要想正式踏上中国的国土,就必须遵守 gb2312/gbk/big5/gb18030 标准,而 gb18030 是国家标准,它来自国际标准 ISO 10646。
不过还是要感谢斑竹的辛勤劳动。
回复 支持 反对

使用道具 举报

发表于 2005-4-10 14:42:55 | 显示全部楼层
斑竹解决了编码转化问题,值得推荐。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 15:19:01 | 显示全部楼层
to KDE :

作为编辑器, 熟悉了 VIM/Emacs , 就会觉得 Kate/Gedit 这些是远不如 VIM/Emacs 的


我这个是 VIM 和 GVIM 用在 UTF-8 环境下阅读非 UTF8 国际标准( GBK/Big5/Jp/Kr ) 编码的,
同时可以用来繁简转换

而不是 KDE 所说的“非标准”环境下中文支持的办法 ,


Post by KDE
而 gb18030 是国家标准,它来自国际标准 ISO 10646。

这个更有问题 , UTF-8 才是来自 ISO10646   ,

况且 新的国家标准 正在向 UTF-8 靠拢


BTW : 国家制定了 GB18030 的字符集 , 却不制定可以用的  GB18030 字体
至今没有一款免费的 GB18030 字体
这叫我们社区发行版怎么去说 ???
回复 支持 反对

使用道具 举报

发表于 2005-4-10 15:48:46 | 显示全部楼层
支持,一直在用。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-4-10 15:53:00 | 显示全部楼层
[15:46] <sunmoon1997> locale 不重要
[15:46] <minghua> http://plateauwolf.blogspot.com/ ... #111146290739576975
[15:47] <sunmoon1997> 支持相应的编码方式就行。。
[15:47] <Huahua> 恩
[15:47] <minghua> 我在 blog 里面说的比较偏激,但基本意思是一样的
[15:48] <caiqian> minghua: 嗯,大概已经被封了
[15:48] <sunmoon1997> 没有必要去炒作 locale
[15:48] <minghua> Err...
[15:49] <minghua> 有人有兴趣吗?有的话我就贴一下
[15:49] <caiqian> minghua: 有啊
[15:49] <minghua> Monday, March 21, 2005
[15:49] <minghua> 中文编码和 Unicode
[15:49] <sunmoon1997> 包括 gb18030 都是过渡性标准
[15:49] <minghua> 最近 Debian 的中文邮件列表非常的热闹,使得我这个 moderator 一时都忙不过来。有一个主题是在讨论应不应该统一使用 UTF-8 编码,说的也没有什么新意。倒是今天的另外一个主题中提到中国信息技术标准化技术委员会对于 GB18030 和 Unicode 的介绍,发现里面居然说 ISO10646 和 Unicode 是两个不同的标准,十分吃惊。自己在网上找
[15:49] <minghua> 了一下资料,才知道自己的理解基本没有错,而国内这些人真是极尽颠倒黑白之能事,一定要往自己脸上贴金
[15:50] <minghua> Wikipedia 里面关于 ISO10646 的介绍还是很详细的。大体说来就是早期的 ISO10646 设计上有重大问题,和 ASCII 兼容不好,效率又低,得不到众多厂商的支持。后来不得不和各厂商联合成立的 Unicode 组织协调,把 ISO10646 做了很大的改变。现在所说的 ISO10646,已经和 Unicode 基本上是一码事了,只不过 ISO10646 是一个纯粹的字符映射,而
[15:50] <minghua> Unicode 还有一些针对各种语言的特殊规则,比如从右到左的书写,一个字符(character)对应多个字形(glyph)的情况。
[15:50] <minghua> 那么为什么中国信息技术标准化技术委员会要把那个已经被废弃的老 ISO10646 标准拿出来说事儿呢?这就要翻翻老皇历了。Wikipedia 对于这种没人用的标准自然语焉不详,只好再找。好在有 UTF-1 这个听都没听说过的关键词,结果找到一篇技术细节很清楚的文章。读了之后才明白,原来这个老 ISO10646 就是中国人为主制定的,在
[15:50] <minghua> 中国叫做 GB13000(这个我早就听说过,一直也不明白到底是什么东西),其核心就是要和 GB2312 和 GBK 兼容,采用两字节的编码,根本不管其它拉丁文字方不方便,更不要说阿拉伯什么国家的文字了。再加上 UTF-1 这个失败的和 ASCII 兼容的转换方式,有厂商支持才怪。
[15:50] <minghua> 现在 ISO10646 实际已经和 Unicode 并轨了,国内的人还把 ISO10646 单独提出来,无非就是要说中国曾经在 ISO10646 的制定中起到重要的作用(好作用还是坏作用就不说了)。技术委员会的那篇文章,明明是介绍已经和 Unicode 并轨以后的 ISO10646(仔细看来 GB13000 实际上也是接受了 Unicode 的分区方法的),还硬要说是和 Unicode 不同,而
[15:50] <minghua> 且把 Unicode 对 ISO10646 的改进说得好象是 ISO10646 的原创,Unicode“和 ISO10646 兼容”,真是恬不知耻。
[15:50] <minghua> 现在国内还有人声称 GB18030 比 Unicode 好,让人听了真是寒心。从兼容的角度来说,GB18030 倒不失为一种选择,但毕竟只注重和旧标准兼容,不顾国际标准,不是长久之计。至于硬是要编出一些名目来把本质上是旧标准扩充的 legacy encoding 说成是最先进的技术,还通过行政手段强行推广,就不知道有没有更险恶的内幕了。
[15:50] <minghua> 重申一下:<minghua> 但是纯粹是我个人意见,不想和任何人争论
[15:51] <sunmoon1997> 包括 gb18030 都是过渡性标准
[15:51] <minghua> 补几个贴不过来的 link:
[15:51] <minghua> http://lists.debian.org/debian-chinese-gb/2005/03/msg00323.html
[15:51] <minghua> http://en.wikipedia.org/wiki/ISO10646
[15:52] <minghua> http://czyborra.com/utf/#UTF-1
回复 支持 反对

使用道具 举报

 楼主| 发表于 2005-6-10 00:18:25 | 显示全部楼层
再说 gvim 不支持 xxxx 编码的请看看这儿
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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