Подтвердить что ты не робот

Emacs: выполнить код в режиме оболочки script

В sh-mode в Emacs я искал способ выполнить оболочку script в текущем буфере, прямо как C-c C-c в Python-режиме. Используя M-! действительно утомительно. Любое количество googling не помогает. Это возможно?

4b9b3361

Ответ 1

M-| shell-command-on-region

поэтому, если вы хотите выполнить весь буфер, C-x h M-| или вы можете переподтвердить что-то более удобное.

Ответ 2

Когда я редактирую оболочку script, называемую foo.sh, я устанавливаю переменную compile-command в "foo.sh". Затем C-c m (компиляция) или C-c r (перекомпилировать) выполняет script. C-c m позволяет мне добавлять или изменять аргументы script перед запуском, C-c r будет запускать его с использованием последних аргументов.

Ответ 3

Восстановить M-! к чему-то вам лучше, вы можете сделать это с локальной раскладкой, чтобы просто повлиять на буфер оболочки.

Ответ 4

в sh-режиме (суффикс файла -.sh
или имеет #!/bin/sh
или Mx sh-mode), нажмите Cc Cx,
см. экран эхо-области "Запустить скрипт:...", нажмите Enter, запустите этот скрипт
версия: GNU Emacs 26.1