在Emacs的sh-mode中,我正在寻找一种直接在当前缓冲区中执行shell脚本的方法,就像Python模式下的C-c C-c一样。使用M-!真的很累。任何数量的谷歌搜索都无济于事。这可能吗?
答案 0 :(得分:13)
M-|
是shell-command-on-region
所以如果你想执行整个缓冲区,C-x h M-|
或者你可以重新绑定到更方便的东西。
答案 1 :(得分:6)
当我编辑名为foo.sh的shell脚本时,我将变量compile-command
设置为“foo.sh”。然后,C-c m
(编译)或C-c r
(重新编译)执行脚本。 C-c m
允许我在运行脚本之前添加或修改脚本的参数,C-c r
将使用最后使用的参数运行它。
答案 2 :(得分:1)
重新绑定M-!对于你更喜欢的东西,可以对局部键映射进行操作,只影响shell缓冲区。