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

王朝other·作者佚名  2008-05-21
窄屏简体版  字體: |||超大  

【问题】

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的问题,看来只要寻找,通常能找到解决办法的。

 
 
 
免责声明:本文为网络用户发布,其观点仅代表作者个人观点,与本站无关,本站仅提供信息存储服务。文中陈述内容未经本站证实,其真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
 
 
© 2005- 王朝網路 版權所有 導航