11.2: Transposing Text

C-t

Transpose two characters (transpose-chars).

M-t

Transpose two words (transpose-words).

C-M-t

Transpose two balanced expressions (transpose-sexps).

C-x C-t

Transpose two lines (transpose-lines).

The common error of transposing two characters can be fixed, when they
are adjacent, with the C-t command (transpose-chars). Normally,
C-t transposes the two characters on either side of point. When
given at the end of a line, rather than transposing the last character of
the line with the newline, which would be useless, C-t transposes the
last two characters on the line. So, if you catch your transposition error
right away, you can fix it with just a C-t. If you don't catch it so
fast, you must move the cursor back to between the two transposed
characters. If you transposed a space with the last character of the word
before it, the word motion commands are a good way of getting there.
Otherwise, a reverse search (C-r) is often the best way.
See Search.

M-t (transpose-words) transposes the word before point
with the word after point. It moves point forward over a word, dragging
the word preceding or containing point forward as well. The punctuation
characters between the words do not move. For example, `FOO, BAR'
transposes into `BAR, FOO' rather than `BAR FOO,'.

C-M-t (transpose-sexps) is a similar command for transposing
two expressions (see Lists), and C-x C-t (transpose-lines)
exchanges lines. They work like M-t except in determining the
division of the text into syntactic units.

A numeric argument to a transpose command serves as a repeat count: it
tells the transpose command to move the character (word, sexp, line)
before or containing point across several other characters (words,
sexps, lines). For example, C-u 3 C-t moves the character before
point forward across three other characters. It would change
`f-!-oobar' into `oobf-!-ar'. This is equivalent to
repeating C-t three times. C-u - 4 M-t moves the word
before point backward across four words. C-u - C-M-t would cancel
the effect of plain C-M-t.

A numeric argument of zero is assigned a special meaning (because
otherwise a command with a repeat count of zero would do nothing): to
transpose the character (word, sexp, line) ending after point with the
one ending after the mark.