Cirumflex / caret karakteri neden Ctrl için bir sembol olarak kullanılıyor?


18

Linux konsolunu uzun zaman önce kullanmaya başladım, ancak kendimi asla circumflex aka karakter karakteri ( ^) hakkında sorgulamadım . Kelimenin yerini almak için neden kullanıldığını sormak istiyorum Ctrl.

Geçen gün nano kullanırken bunu düşündüm ve internette bazı cevaplar olup olmadığını araştırdım ama bulduğum sadece "ne" ve "neyi temsil ettiği" ile ilgili sorulardı.

Bazı tarihsel nedenler var mı? Yoksa garip bir toplantıdan mı geliyor?


2
Orijinal bile vi(en azından SunOS 3.5'teki) bile, ctrl-C, ctrl-V, vb stty. Öte yandan, o dönemde kabuk betiklerinde ^eşanlamlı olarak çalıştı |, bu yüzden sttyçağırmalarda her zaman caret'i ters eğmek zorunda kalacaksınız . İyi soru.
Bruce Ediger

1
Tahmin etmek zorunda kalsaydım, bunun Shift, Control ve Meta'nın (ve Super ve Hyper gibi daha az bilinen ilklerinin) hepsinin Control'un değiştirici anahtarlar olmasıyla ilgili olabileceğini söyleyebilirim. muhtemelen en yaygın kullanılanıdır. Çoğu karakterin 'Kaydırılmış sürümleri basitçe yazılabildiğinden, (ör. 3/ #), ^Farklı bir' kaydırma 'için görsel bir kısayol olabilir. Çoğu tür tuş / karakter için, Ctrl karakterin sadece 64 bitini kapatması da ilgili olabilir - ^kısaca NOT (0x40).
DopeGhoti

Yanıtlar:


11

Cirumflex ( ^), ışınlayıcılardaki yukarı ok karakterine eşittir. SunOS ve diğerleri ortaya çıktığında, bu bölüm geçmişte 10 yıldan fazlaydı. Aynı karakter (değiştirme) matematiksel ifadelerde, örneğin ^güçler için (bazılarının kullanabileceği yerlerde) kullanıldı** ) kullanılmıştır. Pascal'da işaretçileri belirtmek için de kullanılmıştır.

Kontrol karakterlerini belirtmek için kullanılır, bu tarih (en azından) 1980'den önce tarihlenir. Örneğin, DEC belgelerinde kullanıldığını bulabilirsiniz (teco kullandığımda kesinlikle 1970'lerin ortalarında kullanılıyordu. 1973 tarihli Utilities kılavuzu (sayfa 927) gösterircontrolC örneğin a'yı .

Uygun bir kaynak arıyorum, 1960'ların sonlarında bunu yerleştirmek için yeterli olan Gil Smith'in Teletypewriter İletişim Kodlarını buluyorum (kökenin Unix öncesi olduğunu da gösteriyor):

ASCII-63 çoğunlukla mevcut ASCII-67 versiyonuyla özdeşti. Kontrol karakterlerinin tanımları (yukarıdaki col-1), aşağıda tanımlandığı gibi iki versiyon arasında değişiklik göstermiştir. Ayrıca, ASCII-63'te, üç haricinde üst 32 pozisyon (col-4) tanımlanmamıştır: RUB (0x7F), ACK (0x7C) ve ESC (0x7E). ASCII-63'te bir ALT-MODE karakterine (0x7D) tutarsız referanslar var. 1967 versiyonunda, RUB DEL oldu ve aynı pozisyonda kaldı, ancak ACK ve ESC kontrol karakter alanına taşındı (col-1). ASCII-67'de, ^ yukarı ok sembolünü ve _ sol oku değiştirdi

ASCII-63 ve ASCII-67, ASCII'nin ortak varyantlarıdır, ancak bazı geçiş sürümleri de vardır: Teletype Model 33 kılavuzunda, SUB yerine SS olan 1965 ASCII sürümüne referanslar vardır. (0x1A), \ @ için (0x40), ~ için \ (0x5C), yerine tek bir karakter | (0x7C) ve | ~ (0x7E) için. M33 ve M35 makineleri için Teletype kod kartı, ASCII'nin 1966 sürümünü belirtir, ancak kartta gösterilen yazdırılabilir karakterler tüm sürümlerde aynıdır.

ASCII ve EBCDIC gibi farklı kodlamalar arasında, ASCII'de karakterin artık bulunmamasından çok uzun bir süre sonra yukarı ok oluşturabilen yazıcıların bulunduğu dosyaların değiş tokuş edilmesi sorunları nedeniyle bu iyi biliniyordu.


1
0x5e, önceki ^karakterin yukarı ok olması nedeniyle , bu karakterin neden orijinal Unix kabuğunda boru operatörü olarak kullanıldığını açıklar (bir komuttan diğerine akan veri fikrini iletir). Bourne kabuğu hala ^alternatif bir boru operatörü olarak davranıyor (sanırım Thomson kabuğu ile geriye dönük uyumluluk için).
Stéphane Chazelas

Evet - ASCII ile birlikte yukarı çıkışlar bırakmak için çok faydalıydı. Bu bana bazı doğrudan klavye bağlantılarını da hatırlatıyor, ancak gösterecek bir resim bulamadım.
Thomas Dickey

1
0x9 (SEKME) genellikle ^I0x89 olarak M-^I, 0xc9 olarak M-I, 0xe9 olarak temsil edilir M-i. Şimdi yerine Meta'yı temsil etmek için bir karakter kullanılmışsa M-?
Stéphane Chazelas

Hazırlıksız değil: Süper / meta / hiperlere çok dikkat etmedim çünkü tanıtıldıklarında, en çok görmedikleri birkaç terminale başvurdular.
Thomas Dickey
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.