У меня есть следующий код в .emacs
: (global-set-key (kbd "M-x g") 'gnus)
, чтобы запустить Gnus с помощью keybinding 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
Emacs error: последовательность клавиш M-x g начинается с не префикса ключа M-x
Ответ 1
Ключ M-x уже привязан к команде execute-extended-command
, которая затем просит вас указать имя исполняемой команды (в вашем случае: gnus
).
Так как R
- это команда только с одним символом, это выглядит так: M-x R - последовательность клавиш, но это не: it M-x, а затем ввод R
в минибуфере, и вам нужно нажать RET для подтверждения ввода.
Короче:
- вы не можете установить последовательности клавиш, начиная с M-x, так как этот ключ уже привязан к команде и, следовательно, не является префиксом (в отличие от C-c, который ничего не делает, кроме как ждать, пока вы наберете другой ключ, но должны быть зарезервировано для привязок, специфичных для текущих режимов).
- стандартным способом сделать это было бы продолжать запуск gnus с помощью M-x gnus или переподключить его к совершенно другому ключу, если вам нужно быть очень быстрым (вы могли бы, например, использовать один из F1 - F12)
- Если вы действительно хотите привязать M-x + letter, вы можете определить однобуквенный псевдоним для команды
gnus
, например:
(defalias 'g 'gnus)