Apa konvensi untuk menggunakan C-x
, C-c
atau M-
sebagai kunci awalan?
Misalnya: apakah C-x
, dll., Untuk menyimpan atau mengunjungi buffer? Apakah C-c
, dll., Untuk mengedit teks?
Latar Belakang
Mungkin ini pertanyaan konyol. Saya menggunakan keyboard Spanyol, dan kadang-kadang mendefinisikan kembali keybindings yang umum untuk keyboard bahasa Inggris (QWERTY). Sebagai contoh: perintah shell terikat pada vanilla Emacs M-!
. Saya mengikatnya sebagai M-¡
gantinya, karena M-!
itulah M-shift-1
, yang tidak bisa saya tekan dengan mudah. Saya bertanya-tanya apakah ada konvensi yang saya timpa ketika saya melakukan perubahan semacam ini
key-bindings
elisp-conventions
anquegi
sumber
sumber
M-x
untuk "jalankan perintah extended, Ini adalah pintu gerbang ke banyak hal canggih yang dapat Anda capai secara interaktif di Emacs; ini memungkinkan Anda untuk menjalankan fungsi Elisp apa pun dengan nama." ApakahC-c
danC-x
tidak memiliki deskripsi seperti itu?Jawaban:
Jika Anda berbicara tentang mengikat kunci untuk Anda gunakan sendiri, maka ini adalah aturannya: Anda dapat mengikat kunci apa saja yang Anda suka.
Jika Anda ingin memastikan untuk tidak mengikat kunci yang mungkin sudah terikat maka gunakan
C-c
diikuti oleh surat. Semua kunci semacam itu dicadangkan untuk pengguna (lihat selanjutnya).Jika Anda berbicara tentang mengikat kunci dalam kode (misalnya, perpustakaan) yang Anda tulis, untuk digunakan oleh orang lain, maka aturan (konvensi) dijelaskan di sini: simpul Konvensi Pengikatan Kunci manual Elisp.
Aturan utama di sana, terkait dengan apa yang Anda tanyakan, adalah mengenai
C-c
:Jangan mendefinisikan
C-c LETTER
sebagai kunci dalam program Lisp. Urutan yang terdiri dariC-c
dan huruf (baik huruf besar atau kecil) disediakan untuk pengguna; mereka adalah satu - satunya urutan yang disediakan untuk pengguna, jadi jangan memblokirnya.Urutan yang terdiri dari
C-c
diikuti oleh karakter kontrol atau digit dicadangkan untuk mode utama.Urutan terdiri dari
C-c
diikuti oleh{
,}
,<
,>
,:
atau;
juga disediakan untuk mode utama.Urutan yang terdiri dari
C-c
diikuti oleh tanda baca atau simbol ASCII lainnya dialokasikan untuk mode minor. Menggunakannya dalam mode utama tidak sepenuhnya dilarang, tetapi jika Anda melakukannya, pengikatan mode utama dari waktu ke waktu dapat dibayangi oleh mode minor.Anda akan perhatikan bahwa tidak ada konvensi tentang
C-x
. Namun, konvensi yang tidak dinyatakan, atau hanya saran / praktik yang baik adalah ini: Jika Anda mengganti beberapa yang sudah ada, mengikat Emacs standar (yaitu, yang Anda dapatkan dari Emacs sebagai didistribusikan, tanpa memuat perpustakaan pihak ketiga mana pun) maka itu mungkin membingungkan atau mengganggu beberapa pengguna kode Anda.Anda dapat membuka dokumen itu di Emacs, dengan cara ini:
C-h i
, untuk membuka Info, browser doc.m el TAB RET
, Untuk m enu el isp (TAB
untuk lengkap), atau cukup klikElisp
link di dengan mouse Anda.key bi TAB
, lalun TAB RET
selesaikan hinggaKey Binding Conventions
.Atau Anda dapat menggunakan
i
dalam manual Elisp, untuk menyelesaikan entri indeks:C-h i m el TAB RET
.i key bi TAB
, yang melengkapikey binding
dan menampilkan dua kemungkinan:key binding
dankey binding, conventions for
. Ketik, TAB
untuk menyelesaikan ke yang kedua, laluRET
menerimanya.sumber
C-c
dan mengirim surat ke perintah pengguna. Dengan cara itu seseorang dapat (hampir) yakin bahwa seseorang tidak mengesampingkan beberapa pengikatan lainnya dari mode utama yang sudah diinstal atau untuk diinstal suatu hari nanti.C-c
+ SURAT di perpustakaan pihak ke-3.@ Jawaban Drew jauh lebih bernuansa dan detail.
Ini pertanyaan yang sangat valid!
Ada konvensi bahwaC-x
dicadangkan oleh emacs sendiri sedangkanC-c
awalan digunakan untuk keybindings yang ditentukan pengguna.Lihatlah ini , terutama bagian "Kunci cadangan". Saya cukup yakin bahwa informasi ini dinyatakan dalam manual emacs juga, tetapi saya tidak dapat menemukannya saat ini.Konvensi dijelaskan dalam ini bagian dari emacs cadel manual.sumber
C-c
diikuti oleh huruf (huruf besar atau kecil) tanpa pengubah lebih lanjut disediakan untuk pengguna. Banyak urutan kunci lainnya yang dimulai denganC-c
dicadangkan untuk mode utama - terutama yang mana stroke-kunci kedua juga dimodifikasi oleh tombol kontrol.M-x
untuk "jalankan perintah extended, Ini adalah pintu gerbang ke banyak hal canggih yang dapat Anda capai secara interaktif di Emacs; ini memungkinkan Anda untuk menjalankan fungsi Elisp apa pun dengan nama." ApakahC-c
danC-x
tidak memiliki deskripsi seperti itu?