Düzeltme işareti köşeli ayraç Köşeli ayraç A ^ [[A - Ne anlama geliyor?


13

Bu zaten sorulmuşsa özür dilerim, ama bunu kendim nasıl bulacağım hakkında hiçbir fikrim yok - herhangi bir arama motorunda "^ [[A" aradığımda "^ [[" bölümünü tamamen yok sayar.

Her neyse, sorum: Bazen ok tuşlarına bastığımda terminalde (Mac'te) "^ [[A", "^ [[B", "^ [[C" veya "^ [[D" karakterleri görünüyor . Bu yıl önce (büyük olasılıkla) DOS kullanırken de karşılaştığımı hatırlıyorum ve çok daha sık meydana geldiğini düşünüyorum.

Bu neden oluyor ve ne anlama geliyor?

Yanıtlar:


20

Bunlar ANSI kaçış kodlarıdır . ^[Bir sonraki, bir ESC (kaçış) karakteri temsil [gerçek bir sol köşeli ayraç, ve mektup kaçış kod işlevini gösterir. Bu Esc[bölüm CSI (Kontrol Dizisi Tanıtıcısı) olarak adlandırılır. Yani sıra CSI Ayukarı ok veya CUU (CUrsor Up) anlamına gelir.

Her neyse, bu şema VT100 ekran terminalinin zamanına dayanır (1978'de piyasaya sürüldü). VT100 tarafından kullanılan kaçış dizilerinin bazıları 1980'lerin başında ANSI tarafından standartlaştırılmıştır ve o zamandan beri ortak kullanımda kalmıştır.

Normalde, ok tuşlarına bastığınızda, bazı programlar (kabuk diyelim) dinler ve bunlara göre hareket edebilir. Yukarı ok tuşuna bastığınızda, komut geçmişinizde geri kayar. Bir program olduğunu çalışıyorsa Ancak gelmez , ok tuşları için çıkış sıralarını anlama sonra da genellikle sadece vurmak olabilecek diğer anahtar gibi terminali için yankılandı geri alma sonunda. Bu yüzden bazen ^[[Ayukarı ok tuşuna basıp vurmadığınızı görürsünüz .


Ayrıca, ^ terminalde "kontrolü" göstermek için ortak UNIX sözleşmesi olduğunu belirtmek gerekir. Örneğin, Ctrl + A tuşlarına basarsanız ve aynı şekilde yoksayılsaydı "^ A" olarak gösterilirdi. Ctrl + [aslında kaçış karakteri ile eşanlamlıdır. Bu arada, bunu ilk etapta yapan nedir; hangi yazılım düzeltme işareti yazdırmaya karar verir? Terminal öykünücüsünün kendisi mi yoksa farkında olmadığım başka bir şey mi?
Muzer

@Muzer çekirdeği yankılanan karakterlerin düzeltme biçimlendirmesini yapar. Bu özellik ile kapatılabilirstty -echoctl

Çekirdek mi? İlginç, bu kadar derin gittiğini bilmiyordum (gezide olsa da, açık olmalıydı, çünkü önyüklemenin çok erken aşamalarında bile!).
Muzer
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.