我通常使用gq
和相应的format-options
和textwidth
设置来格式化要包含在特定widht的行。例如,使用textwidth=10
,在以下行中输入gqq
或gql
:
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。
答案 0 :(得分:1)
您可以使用特殊\%v
正则表达式原子匹配特定列,然后使用:substitute
在其中插入换行符(\r
)。
:%s/\%11v/\r/g
这需要重复应用以分割整个长线。或者,您可以枚举所有分割点并一次性执行此操作:
:s/\%11v\|\%21v\|\%31v\|\%41v/\r/g