gvim同时处理中日韩文

From: http://xbeta.info/gvim-unicode.htm

一、两项要点

gvim处理多国文字(unicode)有两项要点:一是编码环境:set enc=utf-8;二是正确的字体,比如要正确显示韩文可选择GulimChe、DotumChe字体。

上图中9-12行字符未能正常显示(同样的字体,notepad可以正确显示更多)。对应的设定为:
set lm=none
set enc=utf-8
let $LANG=’en’
set ambiwidth=double
set guifont=DotumChe:h12:cANSI

二、备注

0.
多数情况下,我用gvim处理中文,因此,默认enc是prc而非utf-8。临时有需要往往改enc,相对不太关注fenc。[参见]

1.测试文本

日语(にほんご、にっぽんご)朝鲜语(조선어)或称韩国语(한국어)
代码 字符标准名称 显示
A 大写拉丁字母”A” A
ß 小写拉丁字母”Sharp S” ß
þ 小写拉丁字母”Thorn” þ
Δ 大写希腊字母”Delta” Δ
Й 大写斯拉夫字母”Short I” Й
ק 希伯来字母”Qof” ק
م 阿拉伯字母 “Meem” م
๗ 泰文数字 7 ๗
ቐ 埃塞俄比亚音节文字”Qha” ቐ
あ 日语平假名 “A” あ
ア 日语片假名 “A” ア
叶 简体汉字 “叶” 叶
葉 正体汉字 “葉” 葉
엽 韩国音节文字 “Yeob” 엽

2.
中文简体Win XP下,不设定encoding时,相当于cp936: simplified Chinese (Windows only),支持别名prc, chinese。也就是说,中文简体Win XP下,不设定enc与
se enc=prc
se enc=cp936
se enc=chinese
是等同的。

3.
此环境下,保存txt相当于notepad.exe的ansi。

4.
enc=prc下,处理unicode字符能力当然比较弱:默认开一个新文件复制韩文过来,它根本不认识;打开一个utf-8编码多语言的文件,也可能转换出错。

5.
所以,处理unicode字符时,一定要(临时)设为enc=utf-8

6.
直接切换到enc=utf-8,GVIM界面会显示乱码,韩文仍无法显示。前者是GVIM调用资源的问题,后者是当前字体不支持韩文(多数中文字体都支持日文)。
这时,虽显示异常,但不影响实际使用。比如,你仍可以复制/粘贴。

7.
如果看起来不舒服,则可以更改显示字体为韩文(代价是中文丑陋)。
se guifont=* 选择 GulimChe或DotumChe,字符集选韩文(不选似乎也可以)。

8.
曾有一段时间,我倾向于选择utf-8,让它成为gvim的enc、文本文件的保存格式、html的编码格式。
但这种“高”标准化对其他程序并不友好。比如:TC中ctrl+q或F3显示txt文件,进行文件内容比较。另外,对中文而言utf-8编码体积是原默认编码的1.5倍,如果是一篇长网页,差异还是难以忽视的。
因此,后来我又改回了ansi/gb-2312,除非遇到问题,才选择utf-8。

9.
对开发者或应用而言,应支持高标准;对用户或数据而言,采用低标准更为有利。此合于老子“知其雄,守其雌”之道。(完)


你可能感兴趣的:(gvim同时处理中日韩文)