2009-12-09 91 views
13

在Emacs的sh-mode中,我正在尋找一種方法,像Python模式下的C-C C-c一樣直接在當前緩衝區中執行shell腳本。使用M-!真的很累。任何數量的谷歌搜索都無濟於事。這可能嗎?Emacs:在shell腳本模式下執行代碼

回答

11

shell-command-on-region

,所以如果你想要執行整個緩衝區,C-x h M-|或者你可以重新綁定的東西更方便。

+0

嗯......我在mini-buffer中得到「**區域命令:**」的提示符。這應該如何工作?我認爲選定的區域將在shell中執行... – nephewtom 2015-09-24 13:16:24

+1

@nephewtom只需在提示符下鍵入'sh',然後緩衝區的內容將通過shell運行 – tlegutko 2017-05-05 21:51:22

+0

Thanks @tlegutko! – nephewtom 2017-05-07 20:15:29

1

Rebind M-!對於你更喜歡的東西,你可以把它做到本地keymap來影響shell緩衝區。

6

當我編輯名爲foo.sh的shell腳本時,我將變量compile-command設置爲「foo.sh」。然後,C-c m(編譯)或C-c r(重新編譯)執行該腳本。 C-c m允許我在運行腳本前添加或修改參數,C-c r將使用最後一個參數運行它。