Normalde, tarihi nedenlerden ötürü, emacs anahtar TAB
koduna ve C-i
anahtara 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>
veC-i
; tabve Ctrl+ idiğer yandan klavyedeki fiziksel tuşlardır.Ancak, şu anda, emacs
TAB
veC-i
aynı ş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.
"TAB'ı değiştirmeden Ci'ye bir komutu nasıl bağlarım?"
- Trey'in Çözümü benim için çalışmadı, değişken
local-function-key-maps
değişmedi. Bunu kullanmakdelete
yerine kullanmakdelq
, değiştirilmiş bir değişkenle sonuçlanır, ancak çözünürlük ... tabve Ctrl+ getirmez i, aynıdır. - Hiper haritaya çeviri 1980'lerin bir çözümü gibi görünüyor ... Hyper+ ' ı da kullanmak isteyebilirim i.
- Trey'in Çözümü benim için çalışmadı, değişken
Kullanılması
input-decode-map
haritaya Ctrl+ ibazı sonrası ASCII kontrol koduna aradığım neredeyse şeydir. Dışındakbd
makro ile düzgün çalışmadığı anlamına gelir bir Ctrl+ bağlayacak kaynak kodu tüm bit değiştirmek gerekir i. Tüm kaynak kodlarının düzgün bir şekilde değiştirildiği göz önüne alındığında, bu muhtemelen en iyi çözümdür.Kullanılması
(kbd "<tab>")
için tabve(kbd "C-i")
(çevirir(kbd "TAB")
yani\t
için literal) Ctrl+ i çalışır ancak değiştirmek zorunda kalacak tüm yanlış tür kullanmak kaynak dosyaları tab[oku: anahtar koduTAB
] can sıkıcı olan.
Bu, örneğin bir github sorunu ve emacs.sx üzerinde de önerilmiştir .
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>
veTAB
iken bağlama birine haritalandırmalıdır Ctrl+ ikeycode'lu gibiC-i
baş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ı?
kbd
SEKME'yi [sekme] olarak çevirmenizi tavsiye etmek olacaktır . Emacs'ın önceden yüklenmiş bölümleri için işe yaramaz.
TAB
veC-i
(kodları değil, anahtarlar) bir ve tanım gereği aynıdırTAB
.