Emacs: Как изменить приглашение «Mx» на что-то другое? - PullRequest
3 голосов
/ 26 марта 2012

У меня execute-extended-command связано с alt + a. Поэтому, когда в минибуфере, когда я нажимаю на него, подсказка только для чтения, говорящая «М-х», для меня не имеет значения. Я хочу изменить его на что-то вроде «выполнить команду:». Как я могу это сделать?

Ответы [ 2 ]

6 голосов
/ 26 марта 2012

Эта подсказка жестко запрограммирована.Вам нужно будет либо переопределить read-extended-command, либо дать совет completing-read (но это кажется довольно ненадежным подходом).

См. Mx find-function RET read-extended-command RET

В коде есть комментарии, относящиеся к этой самой проблеме:

;; This isn't strictly correct if `execute-extended-command'
;; is bound to anything else (e.g. [menu]).
;; It could use (key-description (this-single-command-keys)),
;; but actually a prompt other than "M-x" would be confusing,
;; because "M-x" is a well-known prompt to read a command
;; and it serves as a shorthand for "Extended command: ".

Честно говоря, учитывая отсутствие чистого решения, я бы не сталпытаться сделать это.

5 голосов
/ 26 марта 2012

Проверьте smex , что является улучшением по сравнению со встроенным execute-extended-command; позволяет настроить подсказку с помощью переменной smex-prompt-string.

Или, если у вас установлен исходный код Emacs, вы можете сразу перейти к реализации: просто Mx find-function RET execute-extended-command RET

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...