Terminale C- / (yani, eğik çizgi) nasıl gönderirim?


13

Emacs'ı terminalde çalıştırmaya çalışıyorum. Terminal tercihlerinde "meta olarak kullan seçeneğini" açtım ve bu yüzden yaklaşık% 95 doğru çalışıyor.

Anahtar dizisi ctrl- / (veya Emacs notasyonu C- /) "geri al" dır. Bu tuş dizisi sadece terminalin bir zil çalmasına neden olur. Bunu nasıl düzeltirim?


FWIW, bu iTerm2'de çalışıyor - iterm2.com - ama sanırım kendimi ^ _ her yerde kullanmak, daha taşınabilir olmak için yeniden eğiteceğim.
Steven R. Loomis

@ StevenR.Loomis taşınabilir mi? ne kontrol- ne de kontrol-_ Android altında çalışın ...
Michael

@Michael taşınabilir dedim çünkü ASCII'de (kabul edilen cevaba bakınız) temsil edilebilir ve böylece ağ bağlantılarını sorunsuz bir şekilde geçirebilir. Ayrıca, gördüğüm çoğu fiziksel klavyede kullanılabilir gibi görünüyor. Bir klavyeyi android cihazla eşleştirmeyi denemedim, yumuşak veya sert bir klavyeden mi bahsediyorsunuz?
Steven R. Loomis

@ StevenR.Loomis yazılımı ... kontrol kısmı, bir eğik çizgi veya alt çizgi eklemeyi geri alma girişimlerine neden olarak göz ardı ediliyor.
Michael

Yanıtlar:


19

Kontrol - standart kontrol kodları/ grubunun bir parçası değildir . Birçok terminal emülasyonunda doğrudan bir tuş vuruşu olarak temsil edilemez. Böyle bir tuş vuruşu yalnızca belirli platforma özgü “tarama kodu modlarında” veya “GUI modunda” (API'nin size tam olarak hangi tuşların ve değiştiricilerin kullanıldığını söylemesi) uygun şekilde algılanabilir. Terminal öykünücünüz bip sesi çıkarıyor çünkü etkin bir şekilde geçersiz bir tuş vuruşu.

Standart kontrol kodları yalnızca "Kontrol" sürümlerini kapsar

  • @ A- Z [\]^_(ASCII 0-31) ve
  • ? (ASCII 127)

Çoğu ABD anahtar düzeniyle çalışan çoğu terminal emülatör programında Shift, bazı “Kontrol kodları” oluşturmak için basmanız gerekebilir :

  • C- @ ControlShift2( @olduğu gibi Shift2)
  • C- ^ ControlShift6( ^olduğu gibi Shift6)
  • C-_ ControlShift-( _olduğu gibi Shift-)
  • Ancak, C-? her zaman olmayabilir ControlShift/( ?olduğu gibi Shift/); C-? genellikle Backspace(Apple klavyelerde, ek ⌦ sembolü olmadan sadece “sil” etiketli anahtar) veya Delete(Apple klavyelerinde ⌦ bulunan anahtar ) tarafından oluşturulur.

Tty tabanlı Emac'larda genellikle undoC- / yerine C-_ kullanabilirsiniz .


1
Kapsamlı cevap için teşekkürler. İşe alıp alamayacağımı görmek için farklı terminal türleriyle oynamayı deneyeceğim.
Kevin Peterson

1
"Farklı terminal tipleri"? Farklı terminal emülatör programlarını mı kastediyorsunuz, yoksa Terminal'de Terminal> Tercihler> Ayarlar> [profil]> Gelişmiş> Terminali bildir olarak ayarlanan $ TERM değerine mi atıfta bulunuyorsunuz ? (Tercih edilen tek şey $ TERM değerini ayarlamaktır. Terminal öykünmesinin çalışmasını değiştirmez.) Control- / X11'in bir özelliğidir ve Kakao veya Terminal tarafından desteklenmez.
Chris Page

5

Ctrl- / VT102 günlerinden bu yana Ctrl-_ eşdeğeri olan 0x1f gönderir. Birçok VT100 emülatör vardır, ancak aslında VT102 emülatörlerdir. iTerm2, bu davranışı izlediği için çalışır.

Sadece kesinlikle VT100 spesifikasyonuna uyan emülatörler Ctrl- / gönderemez. Terminal uygulamasının bunlardan biri olduğuna inanıyorum.

VT100, kontrol tuşuna basıldığında 7 bit ASCII'nin en önemli 2 bitini maskeler. / 0x2f, o 0x6f'dir. 2 bit maskelendiğinde her ikisi de 0x0f'dir. VT100 Ctrl-o gönderebilir ancak Ctrl- / gönderemez.


Bu kabul edilen cevap olmalı.
ocodo
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.