是否有某种方法可以配置vim的gq函数,以便允许在连字符后面(在复合词中)换行?例如用gq连字符后连续vim
twentieth-
century
顺便说一句,我不是我自己的笔记本电脑,但在实验室中,它运行Windows之一,因此任何解决方案不使用程序,如par
或fmt
获得积分:-)(虽然我也对使用这些工具的解决方案感兴趣,如果这不可能仅使用vim来做到这一点 - 至少我可以在笔记本电脑上做到这一点)。
在此先感谢。
是否有某种方法可以配置vim的gq函数,以便允许在连字符后面(在复合词中)换行?例如用gq连字符后连续vim
twentieth-
century
顺便说一句,我不是我自己的笔记本电脑,但在实验室中,它运行Windows之一,因此任何解决方案不使用程序,如par
或fmt
获得积分:-)(虽然我也对使用这些工具的解决方案感兴趣,如果这不可能仅使用vim来做到这一点 - 至少我可以在笔记本电脑上做到这一点)。
在此先感谢。
对于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
的连字符来回。
我没有看到让Vim的内部格式化操作的方法;我认为你可能会被限制为'formatexpr'或'formatprg' - 并且编写你自己的Vim代码来复制内部格式并进行轻微的修改将会很难......所以不幸的是外部程序可能是唯一的直截了当的方式。 – Cascabel 2010-07-27 12:23:39
那么,你知道如何配置'par'吗? (我是用纯粹的懒惰来问这个问题的,我不想今天阅读'par'的超长页面:-))谢谢。 – antony 2010-07-27 15:37:22
如何在**' - '**之前或之后添加空间? – 2012-04-07 17:56:11