SEKME ve <tab> arasındaki fark nedir?


15

Ben okuyordum belgelere Ben tetik tuşu tanımlanır bölüme geldiğinde, Yasnippet modu için:

Öyle görünüyor ki Yasnippet küçük modu aşağıdakileri kullanarak TABçalıştırılacak anahtarı tanımlar yas-expand:

(define-key yas-minor-mode-map (kbd "<tab>") 'yas-expand)
(define-key yas-minor-mode-map (kbd "TAB") 'yas-expand)

Arasındaki fark nedir <tab>ve TAB? (Bunu Google'da denedim ama net bir açıklama bulamadım)

Yanıtlar:


9

Emacs genellikle <tab>(tek anahtar) 'ı TAB( C-i) çevirse de, bağlayabilir <tab> ve TABfarklı şeylere yapabilirsiniz:

(global-set-key (kbd "<tab>") #'proced)
(global-set-key (kbd "TAB") #'indent-for-tab-command)

2
Anlıyorum, ama neden Yasnippet gerek tanımlamak yok hem <tab>ve TAB?
Håkon Hægland

3
@ HåkonHægland, onları global haritada farklı komutlara bağlarsanız, emacs birini diğerine çevirmeyi durdurur (küçük mod haritalarında bile), böylece yasnippet her iki durumda da bağlanır.
Malabarba

1
@Malabarba Yani hem tanımlarsanız <tab>ve TABilişkili komutu çalıştırmak için tek yol TAByazmaktır C-i?
Håkon Hægland

2
Bağlandığınız <tab>komuttan farklı bir komuta bağlanırsanız TAB, "Sekme" tuşuna bastığınızda elde edeceğiniz şey Emacs'a hangi / ne gönderdiğine bağlıdır. Eğer C-i(aka TAB) gönderirse , TABbağlayıcıyı alırsınız . Eğer gönderirse <tab>, onun bağlayıcı olsun. (Ve evet, bağlayıcılığı C-ielde etmek için her zaman vurabilirsiniz TAB.)
Drew

1
Farklı hakkında daha fazla tarihsel bilgi TABtuşları ile verilmektedir StreakyCobraiçinde bu spacemacs github konuda. Cevabınıza bu bilgilerin bir kısmını dahil etmek isteyebilirsiniz.
Håkon Hægland
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.