patch 了一份vim 常用的par 段落格式工具,有人需要的话可以发一份。
vim 中编辑中文时一直有个缺陷,不能将中文段落硬分断,这点在编写 tex 文档时特别麻烦,好象世面上现有的段落格式工具只有par ,但 par 格式化e 文没问题,格不了中文。仅管在编译时你可打开NOWIDTH 选项,可这还是只做到一半,能格中文段落,但每行的长度参差不齐,以前Tex文档写得不多,只能偶尔凑合着用用。最近要写点东西,抽了半天时间把 par patch了一下,让它支持中文宽字符。
你可google 一下 par 的 muiltcharater 版本,好象是俄国人改的,可以支持宽字符,但不支持中文。因为中文不用空格断词的,字母文字全用空格断词。
修改方法:
1. (gdb) break "/sourceCode/par/reformat.c:310"
while (p1 < end && *p1 == L' ') ++p1; 增加
if (*p2 > 0x7f) { //汉字
++p2;
}
2. (gdb) break "/sourceCode/par/par.c:250"
if (ch == '\n')
break; //遇到换行符直接断行,跳过后续空格检查。
3. 在出现 L' ' 的地方打断点,检查一下多插入的空格。这个技艺很管用的,免去了阅读代码的工作量,反正hack得能用就行了。
有人需要我可mail一份代码给他。