12.5 Commands to Mark Textual Objects
Here are the commands for placing point and the mark around a textual
object such as a word, list, paragraph or page.
- M-@
- Set mark after end of next word (
mark-word
). This command and
the following one do not move point.
- C-M-@
- Set mark after end of following balanced expression (
mark-sexp
).
- M-h
- Put region around current paragraph (
mark-paragraph
).
- C-M-h
- Put region around current defun (
mark-defun
).
- C-x h
- Put region around the entire buffer (
mark-whole-buffer
).
- C-x C-p
- Put region around current page (
mark-page
).
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. If you repeat these
commands, that extends the region. For example, you can type either
C-u 2 M-@ or M-@ M-@ to mark the next two words. This
command also extends the region when the mark is active in Transient
Mark mode, regardless of the last command.
Other commands set both point and mark, to delimit an object in the
buffer. For example, M-h (mark-paragraph
) moves point to
the beginning of the paragraph that surrounds or follows point, and
puts the mark at the end of that paragraph (see Paragraphs). It
prepares the region so you can indent, case-convert, or kill a whole
paragraph. With prefix argument, if the argument's value is positive,
M-h marks that many paragraphs starting with the one surrounding
point. If the prefix argument is −n, M-h also
marks n paragraphs, running back form the one surrounding point.
In that last case, point moves forward to the end of that paragraph,
and the mark goes at the start of the region. Repeating the M-h
command extends the region, just as with M-@ and C-M-@.
C-M-h (mark-defun
) similarly puts point before, and the
mark after, the current (or following) major top-level definition, or
defun (see Moving by Defuns). Repeating C-M-h also extends
the region.
C-x C-p (mark-page
) puts point before the current page,
and mark at the end (see Pages). The mark goes after the
terminating page delimiter (to include it in the region), while point
goes after the preceding page delimiter (to exclude it). A numeric
argument specifies a later page (if positive) or an earlier page (if
negative) instead of the current page.
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 Transient Mark mode, all of these commands activate the mark.