Yes, you can use the } and { paragraph motions to move a paragraph forwards or backwards.
From :help paragraph:
A paragraph begins after each empty line, and also at each of a set of
paragraph macros, specified by the pairs of characters in the 'paragraphs'
option. The default is IPLPPPQPP TPHPLIPpLpItpplpipbp, which corresponds to
the macros .IP, .LP, etc. (These are nroff macros, so the dot must be in
the first column). A section boundary is also a paragraph boundary.
Note that a blank line (only containing white space) is NOT a paragraph
boundary.
Also note that this does not include a '{' or '}' in the first column. When
the '{' flag is in 'cpoptions' then '{' in the first column is used as a
paragraph boundary posix.
Like you would expect, you can of course add a count and/or operator; eg. 2} to move 2 paragraps fowards. Or to delete the previous 2 paragraphs you can use 3d{.
Also see :help object-motions
vap<Esc>j, right? Too bad there's no 'previous paragraph' equivalent. – awvalenti Mar 19 '24 at 11:49vap<Esc>jandvip<Esc>jseem to give the same results here. Thanks for pointing out an alternative. Also,vapo<Esc>kkwill get you two lines before the current paragraph. – Christopher Bottoms Mar 26 '24 at 15:49