Ci'yi TAB'dan nasıl ayırt edebilirim?


20

Normalde, tarihi nedenlerden ötürü, emacs anahtar TABkoduna ve C-ianahtara aynı şekilde davranır , bkz. işlev tuşları ile ilgili emacs lisp belgeleri veya abo-abo'nin "TAB ile arasındaki fark nedir?" .

NOT: Bu yazı, tuş kodlarına vardır TAB, <tab>ve C-i; tabve Ctrl+ idiğer yandan klavyedeki fiziksel tuşlardır.

Ancak, şu anda, emacs TABve C-iaynı şeyi davranır , yani (equal (kbd "TAB") (kbd "C-i"))-> t.

Ancak, artık bilgisayar bilinci içinde yaşamadığımız için bunu son derece can sıkıcı buluyorum . Bu soruna geçici bir çözüm bulmak için yapılabilecek birkaç öneri var, örn.

Bu çözümlerin hiçbiri gerçek çözümler gibi görünmüyor, bunları (mevcut hatanın ) geçici çözümlerini veya korsanlıklarını düşünmeyi tercih ederim .

Orada bir çıkış yolu var mı zorlamak haritaya emacs'ı tabiçin (kbd "<tab>")ve (kbd "TAB")süre Ctrl+ ieşleştirilmiş (kbd "C-i")emacs kaynak kodunu modyfing kısa?

Bu yaklaşım, yani kullanıcıya tamamen görünmez olmalıdır tabtekrarların gibi <tab>ve TABiken bağlama birine haritalandırmalıdır Ctrl+ ikeycode'lu gibi C-ibaşka bağlayıcı eşleşmelidir.

Daha az ciddi bir not: Burada, emacs kaynak kodunda bunun değiştirilip düzeltilip düzeltilmeyeceğini yorumlayabilen emacs geliştiricileri var mı?


2
Not olduğu TABve C-i(kodları değil, anahtarlar) bir ve tanım gereği aynıdır TAB.
Stefan

@Stefan Bu yüzden Note öğesini ekledim . Gönderiyi düzenleyip oraya koyacağım.
elemakil


IMO, bu soru yinelenmiyor, çünkü bunun yerine <tab> kullanmak için SEKME'de (harici paketlerden olanlar bile) tanımlanan tüm tuş bağlantılarının yerini değiştirmek istiyor. Diğer soru ise bunları kendi kodunuzda nasıl ayırt edeceğinizi soruyordu.
Malabarba

Benim önerim kbdSEKME'yi [sekme] olarak çevirmenizi tavsiye etmek olacaktır . Emacs'ın önceden yüklenmiş bölümleri için işe yaramaz.
Malabarba

Yanıtlar:


21

Gelecek çoktan gitti ve bilgi işlemin taş çağı gelmek üzere. Bildiğim tüm metin terminalleri Emacs'a olduğu C-igibi hala aynı bayt dizisini gönderiyor TAB, bu yüzden orijinalleri onları "birleştirmek" hala bizimle birlikte.

Girdi-kod çözme-haritası (à la (define-key input-decode-map "\C-i" [C-i])) muhtemelen şu anki kadar iyi.

Emacs eski bakıcısı olarak ben boşaltmak için böylece, bu soruna daha iyi bir çözüm hoşuma gider C-i(ve C-mve C-[(muhtemelen onlara "kullanıcı için ayrılmış" olun) GUI'leri altında) tuşları. Ancak mevcut paketlerde çok fazla soruna neden olmadan bunu nasıl yapacağımı bilmiyorum.



Ne tür klavye kullandığınızı merak ediyor musunuz? Tipik QWERT klavyeleri ile fark sadece belirgin ve bu tuşları ayırt edememek çok acı
Ivan Huang
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.