我想重新格式化我的文件,使最大线宽为79。我做了:set tw=79
和gggqG
,结果并不是我所期望的。当一行小于79行时,其下一行的字符会向上移动,超过79行的行不会分成两行。
编辑:嗯,我半错了,因为它确实打断了79以上的线,除了带星号的线。
--CONVENTIONS**************************************************************************************
此外,当该行具有<79.
一个可能的解决方案,尽管不是最好的解决方案。
取消定义formatexpr
,让外部fold
程序将文本格式化为79个字符宽。
:set formatexpr=
:set formatprg=fold -w 79
现在:
gg # Go to beginning of file.
gq # Format until...
G # End of file.
最后删除那些回车(^M):
:%s/r//g
在我的测试中,它改变了一些重音字符,其他一些行也被弄乱了,但你自己试试。否则,您可以编写自己的格式函数,并将其与formatexpr
选项一起使用。
在不同段落之间放置空行。然后重新格式化。