Emacs:在shell脚本模式下执行代码

16
在Emacs的sh-mode中,我正在寻找一种类似于Python-mode中的C-c C-c的方式,可以直接执行当前缓冲区中的shell脚本。使用M-!真的很累人。无论进行多少搜索都没有帮助。这个可能吗?
3个回答

14

M-| 是执行区域命令的意思。

因此,如果您想要执行整个缓冲区,可以使用 C-x h M-| ,或者您可以重新绑定到更方便的快捷键。


在迷你缓冲区中,我收到了提示“**Shell command on region:**”。这是怎么工作的?我以为选择的区域将在 shell 中执行... - nephewtom
2
@nephewtom 只需在提示符中键入 sh,然后缓冲区的内容将通过 shell 运行。 - tlegutko
感谢 @tlegutko! - nephewtom

6

当我编辑一个名为foo.sh的shell脚本时,我将变量compile-command设置为"foo.sh"。然后,按下C-c m(编译)或C-c r(重新编译)执行脚本。C-c m允许我在运行之前添加或修改脚本的参数,C-c r将使用上次使用的参数运行它。


1
重新绑定 M-! 到你喜欢的快捷键上,你可以将其绑定到本地按键映射中,以仅影响 shell 缓冲区。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接