Я создал собственный макрос привязки клавиш следующим образом:
(global-set-key (kbd "C-C C-c") "\C-a\C- \C-n\M-w\C-y")
Проблема в том, что C-c C-c
определено для python-send-buffer
в python-mode
. Так что мой макрос работает для всех режимов, кроме python-mode. Я предполагаю, что python-mode
оценивается после моего файла инициализации, поэтому он перезаписывает эту привязку клавиш.
Я пытался отключить C-c C-c
с помощью (eval-after-load "python-mode")
и с помощью global-unset-key
, но это не сработало. C-c C-c
в python всегда отображается на python-send-buffer
.
Как я могу полностью отключить Python C-c C-c
и вместо этого использовать свой макрос?
Я использую Emacs 24.2.1.
C-c
, за которым следует управляющая клавиша (например,C-c
), зарезервирована для основных режимов, что означает, что код Лиспа, определяющий основной режим, имеет право использовать его (и они часто используютC-c C-c
, как сказал Скотт Фрейзер). Конечно, пользователи по-прежнему имеют право привязывать такой ключ, но просто знайте, что основные режимы также могут делать это, поэтому вам может потребоваться найти ключ на замену для таких режимов (см. ответы здесь для этого) . См. руководство по Elisp, узелKey Binding Conventions
. - person Drew   schedule 12.10.2013add-hook
, но ОП утверждает, что они использовалиadd-hook
, и это не сработало. Пометка этого вопроса как дубликата этого вопроса вводит в заблуждение. Ответы на этот вопрос не работают в моем случае, поэтому я разместил этот вопрос. - person darksky   schedule 14.10.2013C-x
. Есть еще много ключей, доступных для вас. См. руководство,Key Binding Conventions
для которого ключи зарезервированы для пользователей. (И вы также можете привязать любые другие клавиши, но они могут переопределить ключи режима и т. д.) И вы можете определить свои собственные префиксные ключи: например, вы можете сделать<f8>
префиксом для некоторых или всех ваших собственных ключей. - person Drew   schedule 14.10.2013