gVim处理unicode时,如果设定不正确,可能会无法显示某些字符。
解决问题的关键,有2点:
一是编码环境,推荐:set enc=utf-8;
二是正确的字体,比如要正确显示韩文可选择GulimChe、DotumChe字体。
我的显示效果,如下图:(Win7、gVim 7.3、2012-11-16)
更多说明
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同时处理中日韩文” 》 有 32 条评论
xbeta你好,我想问问在gvim编辑中文的时候,怎么样才能用方向键在段中控制光标?比如我现在光标在本段开头,按“下”的时候光标就跳到这一段的末尾去了,但是我只想下移一行而已。
简言之,能实现像term中那种操作吗?
技术上gj可以,
但实际中我还是用鼠标的。
弱弱的问,gj什么意思
看来你真的是用小键盘的方向键啊。vim用户很少用它们,而是在normal mode下按hjkl代表4个方向移动。这样做的好处是按键更方便,更重要的是60j就成了下移60行(段),就可以用于复杂脚本。这是vim的入门第一课,呵呵。
希望将来有时间,可以为非专业人士(无编程、无UNIX/Linux/term经验)写一个vim入门系列。
《普通人的编辑利器——Vim》限于篇幅,很多要点仅是一笔带过,但可以细心阅读的话也能对vim有全面认识。
因为是笔记本嘛,方向键也不远的
那到底怎么样能在插入状态下把光标上移一行,不是一段呢?
应该是不能的。
vim大概认为这种需求是不太合理的。因为行是窗口宽度折出来的概念,很少需要从“A列”B行转到“A列”D行,更可能你的目标是X列Y行。即光标实际的路径需要“斜向”移动,而非“竖直”移动。
从这种需求来看,Normal模式下的vim提供了非常多样并可灵活组合的移动命令;而在insert模式下我的习惯是用鼠标(实际是ThinkPad的小红帽)。
当然,vim跳转功能对中文而言不是很好用。
好
另外,被你害的,这些天狠研究你推荐的这些好用的软件呢,呵呵
似乎DotumChe对于部分中文,还是无法很完美的显示。
比如:中华人民共和国。
中的“华”和“国”
我试验了,可以正常显示啊。
vim里
encoding基本上常规配置utf-8
用fencoding选项来控制输出文件的编码
[code]
enc=utf-8
fenc=cp936
[/code]
正在看善用佳软的博客(这次是从头开始),目前在看第32页。问题:怎么有的文章提示已经删除了
①以前的文章是从sina搬家过来的,格式混乱之处未调整。
②某些文章未能搬过来,可去sina阅读。
③删除过期或低价值文章,与发表新文章同样重要。
使用VIM二次。始终还是没能用上。。感觉不太适合我。
其实windows/linux平台上unicode编码中 utf16 小尾序兼容性最好
您老用utf-8在tc中有兼容性问题估计是因为bom没有加上去。反正utf-8有没有bom都很烦的。
没错。有无bomb,各有各烦恼。
以前没关注过utf16,因为网页都是用utf-8的。
晕,不是炸弹……
utf-16 le中文的话占地比utf-8小,如果全英文则比utf-8大,总体来说和gb18030差不多;兼容性应该是最好的,而且处理起来最快(因为大部分字编码都是等长的,而且新一点的操作系统是原生支持的)
另外,显示的话其实应该是vim对于字体替换支持不好,本来正常的步骤应该是用默认选择的字体显示,碰上显示不出来的再调用默认的“补充”字体,比如选tahoma显示,碰上中文了,应该用宋体来显示,再碰上了cjk ext-b的字,则用simsun ext-b来显示。这些字体链接在注册表里面都有的,就看程序是否选择遵守了。
为什么网站总是把我的Opera浏览器识别为手机访问?希望改一下设置。
查看-小屏幕-去掉√,看看行不行
不是这儿网站的问题,你自己的问题,我也用opera
不是这个问题。清空cookie后再浏览,主页是桌面版,可一点进某一篇文章就是移动版。应该和User Agent有关,我在opera:config中把ISP填上了自己的博客地址,这样UA就是:Opera/9.62 (Windows NT 6.1; U; welcome to http://jude.appspot.com; en) Presto/2.1.1 可我发现朱雀版的ISP中也有内容,是Edition IBIS,浏览善用佳软就不会跳到移动版,我把它改成自己的博客地址后就得到移动版,而即使我把它改成Nokia 6300,却得到的还是桌面版。
这个博客插件还真有点诡异。
囧,原来是ua……我错了
那的确有点诡异
有没有桌面提醒软件推荐
测试邮件订阅
再测试。
我设成这样是可以的:
set guifont=新宋体:h12:cGB2312
但有个问题是,光标移到韩文字符后就变成了框框,Ctrl-L一下后又好了
有个Vim 中文输入法 http://vimim.googlecode.com,挺方便的,推荐一下
xbeta你好!有个问题请教下,我初装gVim,准备学习。在360上下了个中文版安装。第一次打开显示的是中文,但第二次打开后就成英文的了,请问怎么让其显示为中文界面?
gvim本来多语言支持很好,哪里来的中文版?
先完全卸载/删除,再从官方下载试试。
就是工具栏跟菜单栏显示为中文。
[…] 参考:gvim同时处理中日韩文 标签:gvim 杂七杂八 – RSS Feed […]
set encoding=utf-8
set fileencoding=utf-8
set fileencodings=cp932,cp936,utf-8,ucs-2le
source $VIMRUNTIME/delmenu.vim
set langmenu=zh_cn.utf-8
source $VIMRUNTIME/menu.vim
language messages zh_CN.UTF-8
set guifont=MS_Gothic:h14:cANSI
多数中文字体都支持日文
代价是多数假名都很丑!难以忍受……这方面没有繁体MingLiU好
这样的菜单和消息都是中文的UTF8