我使用(g)Vim编辑电子邮件,我经常需要在缩进的段落中回流长行,这些段落以>
, >>
等开头。
例如,想象我的textwidth
设置得很短:
> Line 1 is short.
> Line 2 is very long, really, I mean, far too long, what a mess.
> Line 3 not so.
当我使用类似{gq}
的格式时,它应该变成如下内容:
> Line 1 is short. Line 2 is very
> long, really, I mean, far too
> long, what a mess. Line 3 not so.
我怎样才能使它这样做呢?
Vim对此有内置支持。Vim有一个选项formatoptions
,它允许您指定几个这样的东西。查看:h fo-table
查看更多详细信息。
对于您所拥有的特定查询,您可能希望添加set formatoptions+=q
,尽管我更喜欢set formatoptions+=tcroq
,以便更好地处理此类格式。
fo-table
中也有其他宝石,我个人使用这个设置:set formatoptions=njtcroql
我使用ftplugin
来做到这一点:
set comments=fb:*,fb:-,b:>,b:>>,b:>>>,b:>>>>
set autoindent
第一行的最后一部分是操作发生的地方-它提供了>
, >>
等的"注释块"前缀,由空白分隔。
这将只工作到第4级缩进,但如果需要,我可以添加更多。
作为题外话,前两个意味着我很容易得到像这样的缩进列表:* List item is very long, it
just keeps going and going
and going
- And this one uses a dash as
a bullet point
编辑:正如Dhruva Sagar所说,formatoptions
将决定我是否可以用{gq}
格式化评论。以上只是说明了注释前缀是什么。