Jawaban:
Untuk menemukan key binding untuk sebuah perintah, Anda dapat menggunakan fitur "where-is" emacs help
C-h w command-name
Jika beberapa binding ditetapkan untuk perintah, semuanya akan terdaftar.
Untuk kebalikannya, diberi urutan kunci, Anda dapat mengetik
C-h k key-sequence
Untuk mendapatkan perintah yang akan dijalankan.
Anda bisa mendapatkan informasi mendetail tentang suatu perintah, juga fungsi non-interaktif yang ditentukan, dengan mengetik
C-h f function-name
Yang akan memberi Anda informasi mendetail tentang suatu fungsi, termasuk binding kunci apa pun untuk itu, dan
C-h v variable-name
akan memberi Anda informasi tentang variabel (terikat) apa pun. Peta kunci disimpan dalam variabel, namun kode kunci disimpan dalam format mentah. Coba C-h v isearch-mode-map
contoh.
Untuk bantuan lebih lanjut tentang mendapatkan bantuan, Anda dapat mengetik
C-h ?
C-h w <function name>
tahu di mana letak kuncinya, bukan dokumentasi lengkapnya. Sebaliknya, Anda juga bisa melakukannya C-h c <key sequence>
untuk sekadar mengetahui fungsi apa yang terikat pada sebuah urutan kunci.
C-h
pada sesuatu yang lain di window manager mereka: C-h w
sama dengan M-x where-is
. C-h k
setara dengan M-x describe-key
. C-h f
setara dengan M-x describe-function
. C-h v
setara dengan M-x describe-variable
. C-h ?
setara dengan M-x help-for-help
. Juga perhatikan bahwa f1
dapat digunakan sebagai pengganti C-h
.
Untuk mendapatkan perintah secara interaktif terikat ke pintasan keyboard (atau urutan tombol dalam istilah Emacs), lihat jawaban yang dipilih.
Untuk secara terprogram mendapatkan perintah yang terikat ke urutan kunci tertentu, gunakan fungsi key-binding
atau lookup-key
yang mengambil urutan kunci dan mengembalikan perintah terikatnya. Fungsi key-binding
inilah yang C-h k
digunakan.
(key-binding (kbd "C-h m"))
mengembalikan perintah yang terikat C-h m
dengan mencari di semua peta tombol saat ini. Fungsi lookup-key
mencari dalam satu peta kunci:
(lookup-key (current-global-map) (kbd "TAB")) ; => indent-for-tab-command
(lookup-key org-mode-map (kbd "TAB")) ; => org-cycle
(lookup-key text-mode-map (kbd "TAB")) ; => nil
(lookup-key isearch-mode-map (kbd "TAB")) ; => isearch-printing-char
Untuk secara terprogram mendapatkan semua urutan kunci yang terikat ke perintah yang diberikan, where-is-internal
mungkin merupakan fungsi yang akan digunakan. Nama fungsi yang diakhiri dengan internal
sepertinya menyarankan bahwa Emacs bukan untuk digunakan oleh pengguna dalam file init mereka tetapi fungsi yang memiliki docstring ini tampaknya menyarankan sebaliknya. Siapa pun yang mempertimbangkan penggunaan where-is-internal
harus terlebih dahulu memeriksa apakah memetakan ulang kunci dapat mencapai tujuan mereka.
Alternatif untuk menemukan kunci yang terikat ke perintah tertentu (misalnya, forward-char
) adalah substitute-command-keys
(misalnya, (substitute-command-keys "\\[forward-char]")
). Itu sangat berguna dalam teks yang lebih besar.
where-is-internal
menyarankan tidak apa-apa untuk menggunakannya. Juga, secara konvensional kami menggunakan format seperti where-is--internal
(perhatikan tanda hubung ganda) untuk fungsi "pribadi".
-internal
dijelaskan di sana: gnu.org/software/emacs/manual/html_node/elisp/… . Ini harus digunakan untuk fungsi C internal.
Pertanyaan lama, tetapi untuk kepentingan pembaca baru, ada beberapa cara bagus lain untuk melihat binding kunci
M-x describe-bindings
Mencantumkan semua binding yang saat ini tersedia, gunakan isearch, terjadi, dll. Untuk memanfaatkan daftar ini dengan baik.
M-x describe-prefix-map
Ini menunjukkan semua binding yang tersedia dari mode saat ini, Anda dapat menggunakan buffer tampilan seperti yang Anda lakukan pada buffer Emacs hanya baca lainnya, misalnya Anda dapat mencari string dengan bebas, dll.
M-x describe-mode
Selain memberi Anda info umum tentang mode saat ini, itu juga akan mencantumkan semua binding kunci yang tersedia.
M-x describe-minor-mode
Anda akan diminta untuk memasukkan nama mode minor, dan kemudian ditampilkan info dan ikatan kunci untuk mode minor tersebut.
CATATAN : Contoh di bawah ini menggunakan paket tambahan (tersedia dari MELPA )
Ini menunjukkan Anda binding sebelum Anda membutuhkannya. Masukkan awalan, misalnya C-x
atau C-c
dan daftar binding yang tersedia di awalan itu akan ditampilkan.
Anda juga dapat melihat daftar pengikatan kunci yang tersedia dari mode saat ini dengan menggunakan:
M-x which-key-show-top-level
Berguna untuk mengikat which-key-show-top-level
ke akor kunci pilihan Anda, sehingga Anda dapat melihat kunci yang tersedia dari mana saja.
Misalnya, C-s
( isearch-forward
) memiliki peta kunci ekstensif yang seringkali tidak diketahui. misalnya M-s o
mulai occur
menggunakan string pencarian saat ini, saya tidak tahu tentang ini selama bertahun-tahun menggunakan Emacs. Bepergian which-key
telah membantu saya menemukan banyak permata langka di Emacs.
https://github.com/justbur/emacs-which-key
Kunci panduan berfungsi dengan cara yang sama seperti yang which-key
saya sarankan untuk melihatnya untuk membandingkan fitur.