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. If STRING is missing, the string from the most recent search is used; it is an error if there is no previous search string. '^STRING1^STRING2^' Quick Substitution. Repeat the last command, replacing STRING1 with STRING2. Equivalent to '!!:s^STRING1^STRING2^'. '!#' The entire command line typed so far.