History

為什麼將抑揚符/插入符號用作 Ctrl 的符號?

  • April 15, 2016

我很久以前就開始使用 Linux 控制台,但我從來沒有質疑過自己關於抑揚符又名插入字元 ( ^) 的問題。我想問一下為什麼用它來代替這個詞Ctrl

前幾天我在使用 nano 時想到了它,我還搜尋了網際網路上是否有一些答案,但我發現的只是關於“它是什麼”和“它代表什麼”的問題。

有什麼歷史原因嗎?還是來自一些奇怪的約定?

抑揚符 ( ^) 等同於電傳列印機上的向上箭頭字元。等到 SunOS 等出現時,這部分已經是 10 多年前的事了。數學表達式中使用了相同的字元(替換),例如^冪(其他人可能使用**)。在 Pascal 中也使用它來表示指針。

用於指示控製字元,此日期(至少)在 1980 年之前。例如,您可以在 DEC 文件中找到它(當我使用 teco 時,它肯定在 1970 年代中期使用。1973 年的實用程序手冊(第 927 頁)例如顯示一個control``C

在尋找合適的來源時,我找到了 Gil Smith 的Teletypewriter Communication Codes,這足以說明它是在 1960 年代後期(證明起源也是 Unix 之前的):

ASCII-63 與目前的 ASCII-67 版本基本相同。控製字元的定義(上面的 col-1)在兩個版本之間有所不同,定義如下。此外,在 ASCII-63 中,上 32 個位置 (col-4) 未定義,除了三個:RUB (0x7F)、ACK (0x7C) 和 ESC (0x7E)。ASCII-63 中對 ALT-MODE 字元 (0x7D) 的引用不一致。在 1967 年的版本中,RUB 變為 DEL 並保持不變,但 ACK 和 ESC 移入控製字元區域(col-1)。在 ASCII-67 中,^ 替換了上箭頭符號,_ 替換了左箭頭

ASCII-63 和 ASCII-67 是 ASCII 的常見變體,但似乎也有一些過渡版本:在 Teletype 33 型手冊中,有對 1965 年版本 ASCII 的引用,其中 SS 代替了 SUB (0x1A), \ for @ (0x40), ~ for \ (0x5C), 一個奇數字元代替 | (0x7C) 和 | 對於〜(0x7E)。M33 和 M35 機器的 Teletype 程式碼卡表示 1966 年版本的 ASCII,儘管卡上顯示的可列印字元在所有版本中都是相同的。

這曾經是眾所周知的,因為在不同編碼(如 ASCII 和 EBCDIC)之間交換文件的問題,在字元不再存在於 ASCII 中很久之後,仍然有列印機能夠渲染向上箭頭。

引用自:https://unix.stackexchange.com/questions/265245