Bagaimana saya bisa mencari bantuan untuk urutan kunci yang tidak bisa saya ketik

8

Saya tahu bahwa saya dapat mencari bantuan untuk urutan kunci menggunakan C-h k <key sequence>, tapi saya menggunakan Emacs di terminal, dan terminal emulator saya tidak melewati semua urutan kunci ke Emacs. Kadang-kadang saya akan melihat notasi untuk urutan kunci tertentu yang ditulis di suatu tempat tanpa penjelasan, dan saya ingin melihat apa fungsinya, tetapi saya bahkan tidak bisa mengetiknya. Apakah ada yang setara dengan di C-h kmana saya bisa mengetik urutan kunci (seperti secara harfiah C-<character>)?

penilai
sumber

Jawaban:

15

Evaluasi hal-hal berikut menggunakan eval-expression( M-:) atau dalam buffer awal:

(describe-key (kbd "C-<whatever>"))
shosti
sumber
1
Secara kebetulan, Anda dapat menemukan solusi ini menggunakan C-h k C-h k. (Bekerja di terminal saya.)
Kevin
1
Bagus. Sebenarnya lebih baik menggunakan M-: atau untuk mengevaluasinya di buffer Anda saat ini, karena pintasan keyboard mungkin khusus untuk mode.
asmeurer
9

Jika Anda tidak dapat menggunakan kombinasi tombol tertentu karena terminal Anda, Anda dapat sering memalsukannya dengan mensimulasikan pengubah kunci secara manual. Kombinasi berikut berfungsi persis seolah-olah Anda telah menggunakan kunci pengubah yang sesuai:

C-x @ a     alt
C-x @ m     meta
C-x @ c     control
C-x @ h     hyper
C-x @ s     super (lowercase s)
C-x @ S     shift (uppercase S)

Misalnya, jika Anda tidak bisa mengetik C-akarena alasan apa pun, C-x @ c aadalah hal yang sama. Jika S-<return>tidak bekerja di terminal Anda, C-x @ S RETakan. Kombinasi tombol ini juga berfungsi dengan C-h kawalan bantuan.

Sue D. Nymme
sumber
Apakah ada contoh di mana Anda bisa mengetik C-xtetapi tidak C-a? Semua ini membutuhkan kemampuan untuk mengeluarkan C-x. Mampu menggunakan pengubah "hiper" atau "super" tanpa tombol khusus sepertinya bisa berguna. Saya telah menemukan terminal yang tidak diatur untuk memetakan kunci "alt" menjadi "meta," tetapi saya mengatasinya (dengan enggan) menggunakan "ESC"
nispio
2
C-aadalah contoh yang buruk. Yang lebih mungkin adalah C-A(atau C-S-a), karena terminal sepertinya tidak menyukai kontrol + shift.
asmeurer
Saya ingat bahwa di bawah screen(1), C-adiperintahkan untuk menjadi semacam kunci multiplexing. Tapi saya sudah lama tidak menggunakannya screen, jadi saya bisa mengingat yang salah.
Sue D. Nymme
2

Anda juga dapat menggunakan C-h buntuk melihat semua keybindings, yang akan mencakup tombol mouse dan yang lainnya.

Shapr
sumber
Setelah describe-bindingsjendela bantuan muncul, Anda juga dapat menggunakan isearchuntuk mencari representasi teks biasa dari urutan kunci dan fungsi yang terikat padanya. Selain itu, paket ini helm-descbindingsakan memungkinkan Anda menavigasi semua binding dalam buffer helm.
nispio
0

Saya tidak mengetahui adanya solusi yang lebih spesifik ini, dan mereka mungkin bekerja lebih baik jika Anda menginginkan perintah yang dijalankan oleh kunci.

Namun, untuk tip yang lebih umum tentang menemukan bantuan, jika Anda memang memiliki semacam gagasan yang tidak jelas tentang apa yang dilakukan pengikatan kunci, tetapi ingin detail lebih lanjut, saya telah menggunakan C-h f(atau describe-function) dengan penyelesaian tab untuk mencoba dan menemukan nama fungsi, yang sering berfungsi, dan kemudian bantuan akan memberi tahu Anda jika fungsi itu memiliki ikatan. Dan ketika itu tidak berhasil, saya telah menggunakan C-h a(atau apropos-command) dan mengetikkan beberapa istilah yang saya pikir mungkin terkait dan mengejutkan, saya telah banyak berhasil menemukan perintah yang benar untuk pengikatan kunci. Pilihan bagus lainnya adalah C-h m(atau describe-mode) dan lihat semua ikatan utama untuk mode saat ini. Ini juga dapat digunakan sebagai istilah yang bermanfaat untuk digunakan untuk salah satu atau dua teknik pencarian sebelumnya.

B4 tangan
sumber