是否有某种方法可以配置vim的gq功能,以便在连字符后(在复合词中)允许换行? e.g。
twentieth-
century
顺便说一句,我不是在自己的笔记本电脑上,而是在运行Windows的实验室之一,因此任何不使用par
或fmt
等程序的解决方案都会获得奖励积分: - )(虽然我也对使用这些工具的解决方案感兴趣,如果仅使用vim无法做到这一点 - 至少我可以在我的笔记本电脑上做到这一点。)
提前致谢。
答案 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
来回连接。