Go up to Using History Interactively.

Interactive History Expansion
=============================

   The History library provides a history expansion feature that is
similar to the history expansion provided by `csh'.  This section
describes the syntax used to manipulate the history information.

   History expansions introduce words from the history list into the
input stream, making it easy to repeat commands, insert the arguments
to a previous command into the current input line, or fix errors in
previous commands quickly.

   History expansion takes place in two parts.  The first is to
determine which line from the previous history should be used during
substitution.  The second is to select portions of that line for
inclusion into the current one.  The line selected from the previous
history is called the "event", and the portions of that line that are
acted upon are called "words".  Various "modifiers" are available to
manipulate the selected words.  The line is broken into words in the
same fashion that Bash does, so that several English (or Unix) words
surrounded by quotes are considered as one word.  History expansions
are introduced by the appearance of the history expansion character,
which is `!' by default.

Menu

Event Designators
How to specify which history line to use.
Word Designators
Specifying which words are of interest.
Modifiers
Modifying the results of substitution.