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-mapcontoh.
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-hpada sesuatu yang lain di window manager mereka: C-h wsama dengan M-x where-is. C-h ksetara dengan M-x describe-key. C-h fsetara dengan M-x describe-function. C-h vsetara dengan M-x describe-variable. C-h ?setara dengan M-x help-for-help. Juga perhatikan bahwa f1dapat 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-bindingatau lookup-keyyang mengambil urutan kunci dan mengembalikan perintah terikatnya. Fungsi key-bindinginilah yang C-h kdigunakan.
(key-binding (kbd "C-h m"))
mengembalikan perintah yang terikat C-h mdengan mencari di semua peta tombol saat ini. Fungsi lookup-keymencari 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-internalmungkin merupakan fungsi yang akan digunakan. Nama fungsi yang diakhiri dengan internalsepertinya 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-internalharus 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-internalmenyarankan tidak apa-apa untuk menggunakannya. Juga, secara konvensional kami menggunakan format seperti where-is--internal(perhatikan tanda hubung ganda) untuk fungsi "pribadi".
-internaldijelaskan 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-bindingsMencantumkan semua binding yang saat ini tersedia, gunakan isearch, terjadi, dll. Untuk memanfaatkan daftar ini dengan baik.
M-x describe-prefix-mapIni 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-modeSelain memberi Anda info umum tentang mode saat ini, itu juga akan mencantumkan semua binding kunci yang tersedia.
M-x describe-minor-modeAnda 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-xatau C-cdan 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-levelBerguna untuk mengikat which-key-show-top-levelke 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 omulai occurmenggunakan string pencarian saat ini, saya tidak tahu tentang ini selama bertahun-tahun menggunakan Emacs. Bepergian which-keytelah 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-keysaya sarankan untuk melihatnya untuk membandingkan fitur.