Next: Modifiers, Previous: Event Designators, Up: History Interaction

#### 33.1.2 Word Designators

Word designators are used to select desired words from the event. A ‘`:`’ separates the event specification from the word designator. It may be omitted if the word designator begins with a ‘`^`’, ‘`$`’, ‘`*`’, ‘`-`’, or ‘`%`’. Words are numbered from the beginning of the line, with the first word being denoted by 0 (zero). Words are inserted into the current line separated by single spaces.

For example,

`!!`
  designates the preceding command. When you type this, the preceding command is repeated in toto.
`!!:$`
  designates the last argument of the preceding command. This may be shortened to `!$`.
`!fi:2`
  designates the second argument of the most recent command starting with the letters `fi`.

Here are the word designators:

`0 (zero)`
  The `0`th word. For many applications, this is the command word.
n
  The nth word.
`^`
  The first argument; that is, word 1.
`$`
  The last argument.
`%`
  The word matched by the most recent ‘`?string?`’ search.
x`-`y
  A range of words; ‘`-y`’ abbreviates ‘`0-y`’.
`*`
  All of the words, except the `0`th. This is a synonym for ‘`1-$`’. It is not an error to use ‘`*`’ if there is just one word in the event; the empty string is returned in that case.
x`*`
  Abbreviates ‘`x-$`’
x`-`
  Abbreviates ‘`x-$`’ like ‘`x*`’, but omits the last word.

If a word designator is supplied without an event specification, the previous command is used as the event.