Chapter 9: Using History Interactively

136

!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.

9.3.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 com- mand 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 0th 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 0th. 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-$’