
Я использую XEmacs 23.
Я попытался выполнить команду оболочки, M-! cmd RET
но она не сработала.
M-!
не отображается в микробуфере, сколько бы раз я ни нажимал Alt+!
.
Но если я захожу в Tools
меню и выбираю Shell Command...
опцию, то она записывает M-!
в микробуфер и все работает нормально.
В чем здесь проблема?
ПРИМЕЧАНИЕ: Я использую оконный менеджер XMonad. Влияет ли это на привязки клавиш?
решение1
Вы можете использовать или Escape !+ Altдля !ввода M-!
. Если , Escape !но не Alt+ !, это, вероятно, потому, что ваш оконный менеджер переназначил эту комбинацию клавиш. Попробуйте ввести Ctrl+ h c Alt+ !. Если это показывает «M-! запускает …», комбинация клавиш привязана к указанной команде. Если приглашение «Describe key» просто стоит там, это означает, что клавиша вообще не попадает в Emacs. Используйте Escape !как обходной путь или измените привязку вашего оконного менеджера.
решение2
Введите Ctrl- h f shell-command
, должно быть что-то вроде:
shell-command is an interactive compiled Lisp function.
It is bound to <f10>, M-!, <menu-bar> <tools> <shell>.
[...]
Если M-!
его нет в этом списке, то проблема в XEmacs
: попробуйте перепривязать его в вашем .emacs
.
В противном случае она может Altиспользоваться XMonad
как основная клавиша, я предлагаю вам использовать для этого клавишу Windows (супер).