Якщо ви говорите про прив’язки ключів для власного користування, то це правило: ви можете зв'язати будь-які ключі, які вам подобаються.
Якщо ви хочете бути впевненим, що не зв’язуєте ключ, який може бути вже пов'язаний, тоді використовуйте C-cнаступну літеру. Усі такі ключі зарезервовані для користувачів (див. Далі).
Якщо ви говорите про прив'язуючі ключі в коді (наприклад, бібліотеці), який ви пишете, для використання іншими, то тут описані правила (конвенції): вузол " Прив'язка ключів " в посібнику Elisp.
Основні правила, пов’язані з тим, що ви запитуєте, - це щодо C-c:
Не визначайте C-c LETTERяк ключ у програмах Lisp. Послідовності, що складаються з C-cбукви та літери (верхнього або нижнього регістру), зарезервовані для користувачів; вони є єдиними послідовностями, зарезервованими для користувачів, тому не блокуйте їх.
Послідовності, що складаються з C-cконтрольного символу або цифри, зарезервовані для основних режимів.
Послідовності , що складаються з C-cслід {, }, <, >, :
або ;також зарезервовані для основних режимів.
Послідовності, що складаються з C-cбудь-яких інших пунктуацій або символів ASCII, виділяються для другорядних режимів. Використання їх у головному режимі не є абсолютно забороненим, але якщо ви це зробите, прив'язка основного режиму може час від часу затінятися незначними режимами.
Ви зауважите, що немає ніякої конвенції щодо C-x. Однак нестаціонарна умова або лише хороша порада / практика: якщо ви заміните деякі існуючі, стандартні прив'язки Emacs (тобто такі, які ви отримуєте від Emacs як розповсюджені, не завантажуючи жодних сторонніх бібліотек), це може сплутати або дратують деяких користувачів вашого коду.
Ви можете дістатися до цього документа в Emacs таким чином:
C-h i, щоб відкрити Info, браузер doc.
m el TAB RET, для m enu el isp ( TABдля завершення) або просто натисніть Elispпосилання за допомогою миші.
key bi TAB, потім n TAB RETзавершити до Key Binding Conventions.
Або ви можете використовувати iв посібнику Elisp для заповнення записів:
C-h i m el TAB RET.
i key bi TAB, що доповнює key bindingі показує вам дві можливості: key bindingі key binding, conventions for. Введіть, , TABщоб завершити до другого, а потім RETприйняти його.
M-xдля "виконання розширеної команди. Це шлюз для багатьох складних речей, які ви можете інтерактивно виконувати в Emacs; це дозволяє запускати будь-яку функцію Elisp по імені". цеC-cіC-xнемає опису , як це?