加载中…
正文 字体大小:

utf-8时vim显示半个字符的解决办法

(2006-11-23 22:15:26)
分类: VIM/text
【问题】
  set enc=utf-8有些好处(新建文件默认为utf-8便于和非win系统交流;识别文件编码正确率更高。当然,如果用其他enc没什么不便就无须改)
  但是,这样会让一些中文字符显示不完整。如“”①②→等

【猜测】
  可能是vim不知道这是全角字符,与“对应”的半角字符混淆。今日一查,果然。

【解决】
  set ambiwidth=double

【解释】
  ①:h ambiwidth
  ②下文来自吴咏炜《Vim 实用技术,第 1 部分: 实用技巧》
   ambiwidth=double:把所有的“不明宽度”字符 [9]——指的是在 Unicode 字符集中某些同时在东西方语言中使用的字符,如省略号、破折号、书名号和全角引号,在西方文字中通常字符宽度等同于普通 ASCII 字符,而在东方文字中通常字符宽度等同于两倍的普通 ASCII 字符,因而其宽度“不明”——的宽度置为双倍字符宽度(中文字符宽度)。此数值只在 encoding 设为 utf-8 或某一 Unicode 编码时才有效。需要额外注意的是,如果你通过终端使用 Vim 的话,需要令终端也将这些字符显示为双宽度……

【感受】
  关于vim的问题,看来只要寻找,通常能找到解决办法的。

0

阅读 评论 收藏 转载 喜欢 打印举报
  • 评论加载中,请稍候...
发评论

       

    发评论

    以上网友发言只代表其个人观点,不代表新浪网的观点或立场。

      

    新浪BLOG意见反馈留言板 不良信息反馈 电话:4006900000 提示音后按1键(按当地市话标准计费) 欢迎批评指正

    新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 会员注册 | 产品答疑

    新浪公司 版权所有