Ошибка emacs: последовательность ключей Mx g начинается с ключа без префикса Mx - PullRequest
14 голосов
/ 27 февраля 2012

У меня есть следующий код в .emacs: (global-set-key (kbd "M-x g") 'gnus) для запуска Gnus с привязкой клавиш M-x g. Я получаю: error: Key sequence M-x g starts with non-prefix key M-x. Как определить сочетания клавиш, начинающиеся с M-x? Это плохая вещь, и ее следует избегать? Я нахожу это более интуитивным, так как «длинная версия» - M-x gnus. Например, определить его как C-c g не составит труда, но затем вы запускаете Gnus с C-c g и, например, R с помощью M-x R, что не очень интуитивно понятно (в отличие от запуска обоих с помощью M-x + 1 letter

1 Ответ

23 голосов
/ 27 февраля 2012

Ключ M-x уже связан с командой execute-extended-command, которая затем просит вас ввести имя команды для выполнения (в вашем случае: gnus).

Поскольку R - это команда длиной всего один символ, похоже, что Mx R - это последовательность клавиш, но это не так: это Mx с последующим вводом R в минибуфере, и вы должны нажать RET , чтобы подтвердить ввод.

Короче говоря:

  • Вы не можете устанавливать последовательности клавиш, начинающиеся с Mx , так как этот ключ уже связан с командой и, таким образом, не является префиксом (в отличие от Cc , который ничего не делает, кроме как ждет вас введите другую клавишу, но она должна быть зарезервирована для привязок, характерных для текущих режимов).
  • стандартный способ сделать это - продолжить запуск gnus с помощью Mx gnus или привязать его к совершенно другому ключу, если вам нужно быть очень быстрым (например, вы можете использовать один из F1 - F12 клавиши)
  • Если вы действительно хотите иметь привязку M-x + letter , вы можете определить однобуквенный псевдоним для команды gnus, например:
    (defalias 'g 'gnus)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...