Emacs: bir komut için tuş bağlamayı yazdırın veya tüm tuş bağlamalarını listeleyin


100

Emacs'de (GNU 23.2, * nix) şunları nasıl yapabilirim:

  1. belirli bir komuta bağlı tuş dizilerini listeliyor musunuz? Örneğin, save-buffers-kill-emacsona bağlı tuş dizilerinin çıktısıyla birlikte çalışan tüm tuş dizilerini nasıl listeleyebiliriz ? Bunu yapabileceğimizi varsayarsak, bağlı anahtar dizilerini listelemek goto-lineçıktıyı yazdırmalıdır: M-g gvarsayılan kurulumda.
  2. tüm tuş bağlamaları listelensin mi? C-h bBunu yapar mı ? Kendi bağlamalarımı yazdırır mı?

Komutun doğrudan çalıştırılmasının etkinleştirilebileceği bir tuş dizisini yazdırabileceğinin farkındayım, ancak her zaman bunu yapmıyor ve aşağıdakiler dahil birkaç şey oluyor:
(1) çıktı uzun süre kalmıyor, (2 ) komut yürütülür.

Belirli bir komuta iliştirilmiş bağlamaları benim için (tercihen tümünü) listeleyen bir komut istiyorum, komutu çalıştırmadan veya buna benzer bir şey.

Yanıtlar:


138
  1. C-h f(veya M-x describe-function) size bir komutun bağlamalarını gösterecektir.

  2. Haklısınız, C-h b(veya M-x describe-bindings) size tüm bağları gösterecektir. C-h m( M-x describe-mode), bağlamaları moda göre listelemek için de kullanışlıdır.

Ayrıca C-h k( M-x describe-key), hangi komutun bir anahtara bağlı olduğunu göstermeyi deneyebilirsiniz . Örneğin, makinemde save-buffers-kill-emacshiçbir şeye bağlı değil ama C-h k C-x C-cbana bunun C-x C-cbağlı olduğunu söylüyor save-buffers-kill-terminal. Aynı anda komut için tüm bağlamaları listeleyecektir.


10
+1, Ayrıca mini arabellek alanında bir tuşun atandığı işlevi veren C-h c(veya M-x describe-key-briefly) vardır.
Shannon Kıdemliliği

Bunun ayrı bir soru olması gerekip gerekmediğinden emin değilim, ancak belirli bir anahtarla başlayan tüm tuş bağlantılarını / işlevleri göstermek mümkün müdür? Örneğin, hangi bağlamalar <f2> ile başlar ? Emacs ikinci bir tuşu beklediğinden "Ch m" den sonra <f2> tuşuna basmak işe yaramaz.
SabreWolfy

1
Burada yeni bir soru olarak soruldu: stackoverflow.com/questions/10330510/…
SabreWolfy

37

Peki ya sadece

M-x where-is <COMMAND>

Aldığınız bilgilerin aynısını alırsınız C-h f.

Ayrıca C-h w, <f1> wve <help> w.


Veya describe-functiongibi işlevler için tüm bağlamaları listelemediğinden , bu aslında ilk sorunun doğru cevabıdır . ignoreself-insert-command
David Ongaro
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.