I want to reformat my file so the max line width is 79. I did :set tw=79
and gggqG
and the results weren't what I expected. When a line is less than 79 col, characters from the line below it move up and lines with over 79 col don't break into two lines.
edit: Well I was semi-mistaken in that it DOES break lines over 79 except in the line with asterisks.
--CONVENTIONS**************************************************************************************
In addition it still moves characters up when the line has <79.
One possible solution, although not the best one.
Undefine formatexpr
and let external fold
program to format your text to 79 characters width.
:set formatexpr=
:set formatprg=fold\ -w\ 79
And now:
gg # Go to beginning of file.
gq # Format until...
G # End of file.
And last remove those carriage returns (^M):
:%s/\r//g
In my test it changed some accented characters and some other lines were mangled, but try it yourself. Else you may write your own format function and use it with formatexpr
option.
Put empty line between different paragraphs. Then do the reformat.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With