2013-07-25 25 views
6

Ben C-i bir fonksiyon bağladığınızda. Görünüşe göre tab işlevi bağlı. Neden oluyor? Emacs'de aynı anahtar tanındı mı?Emacs'deki C-i ve sekmesi arasındaki ilişki nedir?

+1

. Yani Eski terminallerde her zaman bir sekme tuşu yoktu, bu yüzden bir sekme karakteri yazmak için "control" ve "i" kombinasyonu kullanıldı. Benzer şekilde, "C-m", "giriş" e eşdeğerdir - tuşlamaların biraz boşa harcanması gibi görünüyor, ama işte böyle. ilginç –

cevap

4

Onlar varsayılan kurulumunda, bağlantı kurulacak gerçekleşmesi ancak bu şekilde olmak zorunda değildir:

(keyboard-translate ?\C-i ?\C-j) 

Şimdi C-i Yeni satır yapacak ederken tab olacak hala girinti. genellikle ayırt edilemez uçbirimlerden C-i ve TAB çok altında bir metin terminal

+0

, neden 'TAB' yerine sadece' girinti line' işlevine 'C-I' bağlayıcı' C-I' çevirebilirim? – Ben

+0

Sanırım C-i ve TAB, bash'ta aynı, ve onlar da işleri tutarlı tutmak için. –

+2

Tarihi nedenler. Düz bir uçbirimde, TAB anahtarı Ctrl-i ile aynı anahtar kodunu gönderdi. – Lindydancer

3

vurmak TAB, uygulamaya (ASCII karakter adlı Tab) C-i kodu gönderir. Varsayılan olarak Emacs hiçbir (bu function-key-map yapılır) tab için bağlayıcı varken C-i için tab olayı eşleyerek GUI ortamlarında bu eşdeğerlik korur. o uçbirimlerden altında veya GUI altında eşit derecede iyi çalışır, böylece Yani çoğu paketleri, TAB char (yani C-i) yerine tab olaya onların komutlarını bağlamak gerekir. Eğer ikisini ayırt etmek isterseniz, çok kolay: sadece tab olay ve bir daha olmayacak tabC-i bir eşleştirme istediğiniz komutu bağlamak. `Tab` için kaçış kodu var

+0

Bilgileriniz için teşekkürler! Ayrılabilir bir şekilde giderdim. – ironsand

İlgili konular