我有这样的清单
- "some long line that needs to be broken into two lines" - B - C
其中 A、B、C 是某些文本的占位符。
我尝试使用这些选项进行格式化
formatprg=par\ p0s0
let &l:formatlistpat='^\s*\(\d\+[\]:.)}\t ]\|[*-][\t ]\)\s*'
setlocal formatoptions=tcqjn
我最终得到了这个
- A - B -C
我怎样才能vim
简单地格式化这些行?
- "some long line that needs to be broken into two lines" - B - C
答案1
设置文本宽度
:set tw=30
然后对段落(或其他范围)执行自动换行
gq}
生产
- "some long line that needs
to be broken into two lines"
- B
- C
答案2
仅'formatlistpat'
适用于内置 Vim 格式化程序。一旦定义了'formatprg'
,它就变得毫无意义了。您的文本似乎不需要外部格式化程序,因此只需通过 删除它即可:setlocal formatprg=
。
或者,您可能想了解如何par
识别保留的列表项。