重新格式化段落,Vim中没有中断字符

时间:2014-06-04 22:17:46

标签: vim

我通常使用gq和相应的format-optionstextwidth设置来格式化要包含在特定widht的行。例如,使用textwidth=10,在以下行中输入gqqgql

the quick brown fox jumps over the lazy dog

将其更改为:

the quick
brown fox
jumps over
the lazy
dog

但是如果没有自然休息,你如何实现类似的格式化:

E.g。

AAACCCTTGGGAGGGGAGGTTTGGGAGTTGGAHCTTGGAGGA

更一般地说,如果你希望Vim尝试打破单词但无条件地换行特定宽度怎么办?

我能实现这一目标的唯一方法是:

:set formatprg=par\ -w10

后跟gql

这就像一个魅力,但我想知道是否有一种方法可以通过一些格式选项等组合使用Vim。

1 个答案:

答案 0 :(得分:1)

您可以使用特殊\%v正则表达式原子匹配特定列,然后使用:substitute在其中插入换行符(\r)。

:%s/\%11v/\r/g

这需要重复应用以分割整个长线。或者,您可以枚举所有分割点并一次性执行此操作:

:s/\%11v\|\%21v\|\%31v\|\%41v/\r/g