Jika saya tahu nama perintah emacs, katakan, "goto-line"; bagaimana jika saya ingin menanyakan apakah ada urutan kunci yang terikat pada perintah ini?
Dan sebaliknya, jika diberi urutan kunci, bagaimana saya bisa menemukan nama perintahnya?
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 melakukannyaC-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 denganM-x where-is
.C-h k
setara denganM-x describe-key
.C-h f
setara denganM-x describe-function
.C-h v
setara denganM-x describe-variable
.C-h ?
setara denganM-x help-for-help
. Juga perhatikan bahwaf1
dapat digunakan sebagai penggantiC-h
.C-h w
(atauF1-w
):where-is
RET beberapa nama perintah RETMelakukan apa yang Anda minta - mencantumkan kunci yang terikat tanpa informasi tambahan. :)
sumber
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
ataulookup-key
yang mengambil urutan kunci dan mengembalikan perintah terikatnya. Fungsikey-binding
inilah yangC-h k
digunakan.mengembalikan perintah yang terikat
C-h m
dengan mencari di semua peta tombol saat ini. Fungsilookup-key
mencari dalam satu peta kunci: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 denganinternal
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 penggunaanwhere-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
) adalahsubstitute-command-keys
(misalnya,(substitute-command-keys "\\[forward-char]")
). Itu sangat berguna dalam teks yang lebih besar.sumber
where-is-internal
menyarankan tidak apa-apa untuk menggunakannya. Juga, secara konvensional kami menggunakan format sepertiwhere-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 )
Kunci yang mana
Ini menunjukkan Anda binding sebelum Anda membutuhkannya. Masukkan awalan, misalnya
C-x
atauC-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. misalnyaM-s o
mulaioccur
menggunakan string pencarian saat ini, saya tidak tahu tentang ini selama bertahun-tahun menggunakan Emacs. Bepergianwhich-key
telah membantu saya menemukan banyak permata langka di Emacs.https://github.com/justbur/emacs-which-key
Kunci panduan
Kunci panduan berfungsi dengan cara yang sama seperti yang
which-key
saya sarankan untuk melihatnya untuk membandingkan fitur.https://github.com/kai2nenobu/guide-key
sumber