Dookoła ( ^
) zostało zrównane ze znakiem strzałki w górę na drukarkach. Do czasu pojawienia się SunOS i tak dalej ta część trwała ponad 10 lat w przeszłości. Ten sam znak (zamiennik) został użyty w wyrażeniach matematycznych, np. W ^
odniesieniu do potęg (tam, gdzie inni mogliby użyć **
). Był również używany w Pascalu do wskazywania wskaźników.
Służy do wskazywania znaków kontrolnych, datuje się to (przynajmniej) przed 1980 r. Można go znaleźć na przykład w dokumentacji DEC (z pewnością był używany w połowie lat 70., kiedy korzystałem z teco. Podręcznik narzędzi z 1973 r. (Strona 927) pokazuje controlCna przykład.
Poszukując odpowiedniego źródła, znajduję Kody komunikacji Teletypewriter autorstwa Gil Smitha, który mówi wystarczająco dużo, aby umieścić to pod koniec lat 60. XX wieku (pokazując, że pochodzenie również pochodzi z wersji wcześniejszej niż Unix):
ASCII-63 był w większości identyczny z obecną wersją ASCII-67. Definicje znaków kontrolnych (kol. 1 powyżej) różniły się między dwiema wersjami, jak zdefiniowano poniżej. Ponadto w ASCII-63 górne 32 pozycje (col-4) były niezdefiniowane, z wyjątkiem trzech: RUB (0x7F), ACK (0x7C) i ESC (0x7E). Istnieją niespójne odwołania do znaku ALT-MODE (0x7D) w ASCII-63. W wersji z 1967 r. RUB stał się DEL i pozostał w tej samej pozycji, ale ACK i ESC przeszli do obszaru postaci kontrolnej (col-1). W ASCII-67 ^ zastąpił symbol strzałki w górę, a _ zastąpił strzałkę w lewo
ASCII-63 i ASCII-67 są powszechnymi wariantami ASCII, ale wydaje się, że istniały również pewne wersje przejściowe: w podręczniku Teletype Model 33 znajdują się odniesienia do wersji ASCII z 1965 r., Która miała SS zamiast SUB (0x1A), \ dla @ (0x40), ~ dla \ (0x5C), nieparzysty znak zamiast | (0x7C) i | dla ~ (0x7E). Karta z kodem Teletype dla maszyn M33 i M35 wskazuje wersję ASCII z 1966 r., Chociaż znaki do wydrukowania przedstawione na karcie były identyczne we wszystkich wersjach.
Kiedyś było to dobrze znane ze względu na problemy z wymianą plików między różnymi kodowaniami, takimi jak ASCII i EBCDIC, gdzie wciąż istniały drukarki zdolne do renderowania strzałek w górę, długo po tym, jak znak już nie istniał w ASCII.
vi
(przynajmniej ten w SunOS 3.5) używał karetki / daszka przed literami, aby reprezentować ctrl-C, ctrl-V itd.stty
I to robi. Z drugiej strony,^
działał jako synonim|
skryptów powłoki w tamtej epoce, więc zawsze będziesz musiał odwrócić kursor wstty
wywołaniach. Dobre pytanie.