Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

Put empty line between different paragraphs. Then do the reformat.

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top