#### 32.1.1 Event Designators

An event designator is a reference to a command line entry in the history list. Unless the reference is absolute, events are relative to the current position in the history list.

`!`
  Start a history substitution, except when followed by a space, tab, the end of the line, or ‘`=`’.
`!`n
  Refer to command line n.
`!-`n
  Refer to the command n lines back.
`!!`
  Refer to the previous command. This is a synonym for ‘`!-1`’.
`!`string
  Refer to the most recent command preceding the current position in the history list starting with string.
`!?`string`[?]`
  Refer to the most recent command preceding the current position in the history list containing string. The trailing ‘`?`’ may be omitted if the string is followed immediately by a newline.
`^`string1`^`string2`^`
  Quick Substitution. Repeat the last command, replacing string1 with string2. Equivalent to `!!:s/`string1`/`string2`/`.
`!#`
  The entire command line typed so far.