与gq连字符后的vim linebreak

时间:2010-07-27 12:08:49

标签: vim

是否有某种方法可以配置vim的gq功能,以便在连字符后(在复合词中)允许换行? e.g。

twentieth-
century

顺便说一句,我不是在自己的笔记本电脑上,而是在运行Windows的实验室之一,因此任何不使用parfmt等程序的解决方案都会获得奖励积分: - )(虽然我也对使用这些工具的解决方案感兴趣,如果仅使用vim无法做到这一点 - 至少我可以在我的笔记本电脑上做到这一点。)

提前致谢。

1 个答案:

答案 0 :(得分:2)

对于ASCII连字符(0x2d),这是不可能的。如果您能够使用Unicode,则可以使用外观相同的Unicode变体(U + 2010,cp。http://en.wikipedia.org/wiki/Dash)。这可以通过Ctrl-V(大多数Windows安装的Vim上的Ctrl-Q)插入,然后是u2010。或者为它定义一个有向图:

:digraph -- 8208 " hyphen, U+2010

使用

:set formatoptions+=m

Vim

  

同样在255以上的多字节字符处中断。

瞧!如果你需要将文本保存为ASCII,你甚至可以在gq周围编写映射/包装器:substitute来回连接。