![Проблема с выполнением команды оболочки в Emacs](https://rvso.com/image/1259381/%D0%9F%D1%80%D0%BE%D0%B1%D0%BB%D0%B5%D0%BC%D0%B0%20%D1%81%20%D0%B2%D1%8B%D0%BF%D0%BE%D0%BB%D0%BD%D0%B5%D0%BD%D0%B8%D0%B5%D0%BC%20%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B%20%D0%BE%D0%B1%D0%BE%D0%BB%D0%BE%D1%87%D0%BA%D0%B8%20%D0%B2%20Emacs.png)
Я использую 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 (супер).