Here are the commands for placing point and the mark around a textual object such as a word, list, paragraph or page:
mark-word). This does not
move point.
mark-sexp). This does not move point.
mark-paragraph).
mark-defun).
mark-page).
mark-whole-buffer).
M-@ (mark-word) puts the mark at the end of the next
word, while C-M-@ (mark-sexp) puts it at the end of the
next balanced expression (see Expressions). These commands handle
arguments just like M-f and C-M-f.
The other commands in the above list set both point and mark, so as
to delimit an object in the buffer. M-h (mark-paragraph)
moves point to the beginning of the paragraph that surrounds or
follows point, and sets the mark at the end of that paragraph
(see Paragraphs). As a special exception, repeated invocations of
M-h extend the region to subsequent paragraphs. This is
convenient for indenting, case-converting, or killing entire
paragraphs.
The M-h command accepts prefix arguments. If the argument's value is positive, M-h marks that many paragraphs starting with the one surrounding point; therefore, C-u M-h is equivalent to M-h M-h M-h M-h. If the prefix argument is −n, M-h marks n paragraphs running back from the one surrounding point; in this case, point moves forward to the end of that paragraph, and the mark goes at the start of the region.
Similarly, C-M-h (mark-defun) sets mark and point
around major top-level definitions (see Moving by Defuns), and
C-x C-p (mark-page) does the same for pages
(see Pages). These treat repeated invocations and prefix
arguments similarly to mark-paragraph.
Finally, C-x h (mark-whole-buffer) sets up the entire
buffer as the region, by putting point at the beginning and the mark
at the end. (In some programs this is called “select all.”)