重排段落在 Vim 中缩进">"



我使用(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}格式化评论。以上只是说明了注释前缀是什么。

相关内容

  • 没有找到相关文章

最新更新