vim中文段落重排的插件

| 评论(2)

前些日子为了用vim完成中文段落重排,在大家起来学vim的教程中找到了一个format.vim,用了一下,觉得不错,终于用gq和gqq来重排中文了。今天写总结的时候,发现标点符号的重排不对,打开format.vim看了一下,发现中文的逗号,句号等都已经列在了不允许放在句首的变量中了,可怎么还是把它们放到了句首。决定自己找找原因,一路看下来,并在vim中试了试,发现原来是获取字符时用的长度不对。大家都来学vim的作者用的是cp935,中文的标点是2个字节的长度,而我用的是utf8中文的标点是3个字节的长度,这样在判断标点时获取的就不是完整的了,于是就没有认出utf8下的标点。把非ascii的字节获取长度改为3后,一试OK了,嘻嘻。

想必也有不少和我一样希望vim能用gqq重排中文的同仁们,就把修正后的format.vim贴出来共享了。

format.vim.zip

评论(2)

是否此版本对于cp935用户亦可用?如是,当寄回给作者请他添加到他的发行版中。此外,utf8不一定总是3字节,数字节法是否可靠得需上下文才知道,这里提个醒。

不能,因为cp935的中文标点是2个字节的。
utf8字符确不一定是3字节,不过中文的标点是3字节的 :)

发表评论

最新日记

mysql的加密连接设置
最近有设置一下mysql的数据库,需要…
思绪纷乱
划过天际,光线的忽明忽暗忽暗。 似有似无…
终于完成论文了
花了快4个月的时间,终于一步步把硕士论文…