The use of a single character for both hyphen and minus was a compromise made in the early days of fixed-width typewriters and computer displays. However, in proper typesetting and graphic design, there are distinct characters for hyphens, dashes, and the minus sign. Usage of the hyphen-minus nonetheless persists in many contexts, as it is well-known, easy to enter on keyboards, and in the same location in all common character sets.
The minus sign is nominally the same width as the plus sign. In proportional typefaces it is longer than a hyphen. During typesetting a word wrap may also occur following a hyphen-minus, unlike the minus sign proper which is treated as a mathematical symbol. These differences make "-" as a substitute for minus signs undesirable in professional typography.
The ASCII hyphen-minus character is also often used when specifying command-line options. The character is usually followed by one or more letters that indicate specific actions. Various implementations of the getopt function to parse command-line options additionally allow the use of two hyphen-minus characters ( -- ) to specify long option names that are more descriptive than their single-letter equivalents. Another use of hyphens is that employed by programs written with pipelining in mind: a single hyphen may be recognized in lieu of a filename, with the hyphen then serving as an indicator that a standard stream, instead of a file, is to be worked with.
On typewriters, it was conventional to use a pair of hyphens to represent an em dash, and this convention is still sometimes used in computer text.
The hyphen-minus is often used to represent an en dash, which may be used to indicate ranges (such as a time range of "2000–2004"), direction (as in "The Los Angeles–London flight"), and other cases of connection. The en dash is normally longer (the width of a letter "n") than a hyphen. The hyphen connects closely, the en dash less closely, while the em dash—with the width (at least traditionally) of the capital letter "M"—separates.