Since I try to use vi/vim editor for almost everything related to editing text and I use it for writing emails too. I use mutt with vim as my text editor but I also have it set up in a way that it wraps text on 80th column:

set editor='vim -c "set textwidth=80" -c "set wrap"'

That’s great, and works great… except when you all of the sudden remember to write something in the middle of existing text, then it all falls apart.

See what I mean? Alright, and here’s how it can be fixed “on the fly”.

To reformat text you can use gq vim command. This will reformat current line, to reformat multiple lines you can select them with:

v

in visual mode or you can do it with:

13gq

which will re-format 13 lines from the cursor (current line + 12 after).

UPDATE:

Igor in the comment section pointed out that you can also use:

gqap

to re-wrap paragraph and to use:

gqas

to re-wrap sentence.