我想重新格式化我的文件,因此最大行宽为79.我做了:set tw=79
和gggqG
,结果不符合我的预期。当一条线小于79 col时,它下面一行的字符向上移动,超过79 col的行不会分成两行。
编辑:嗯,我错误地认为它除了带星号的行外,还会突破79行。
--CONVENTIONS**************************************************************************************
此外,当该行具有< 79。
时,它仍会向上移动字符答案 0 :(得分:9)
一种可能的解决方案,尽管不是最好的解决方案。
取消定义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
选项一起使用。
答案 1 :(得分:1)
在不同段落之间加上空行。然后重新格式化。