Проблема с выполнением команды оболочки в Emacs

Проблема с выполнением команды оболочки в Emacs

Я использую 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 (супер).

Связанный контент