我想建立,做標記整個緩衝區,並運行C-u M-|
提示輸入一個命令,管緩衝到命令和替換與輸出緩衝器的等效的功能。然後可能將它設置爲shift-f5或其他東西。Emacs的外殼命令上緩衝
我只得到儘可能的:
(defun shell-command-on-buffer()
(interactive)
(mark-whole-buffer))
我該怎麼辦的休息嗎?
我想建立,做標記整個緩衝區,並運行C-u M-|
提示輸入一個命令,管緩衝到命令和替換與輸出緩衝器的等效的功能。然後可能將它設置爲shift-f5或其他東西。Emacs的外殼命令上緩衝
我只得到儘可能的:
(defun shell-command-on-buffer()
(interactive)
(mark-whole-buffer))
我該怎麼辦的休息嗎?
這個工作對我來說:
(defun shell-command-on-buffer (command)
(interactive "sShell command on buffer: ")
(shell-command-on-region (point-min) (point-max) command t))
這其中有使用,而不是一般的小緩衝區的歷史的「shell命令」小緩衝區的歷史優勢。
(defun shell-command-on-buffer()
(interactive)
(shell-command-on-region (point-min) (point-max) (read-shell-command "Shell command on buffer: ") t))
請注意,read-shell-command是在23.1版本中引入GNU Emacs的。如果你需要兼容舊版本,那麼你不會想用這個,否則你將需要添加,試圖調用之前檢查讀殼命令的存在的代碼。 – 2014-07-15 20:16:14
謝謝,我試過了。這爲我打開了一個新的緩衝區 - 理想情況下,我希望它將當前緩衝區替換爲C-u M- |確實。 – teppic 2013-04-08 00:29:50
啊,對不起,我最初的建議與'shell-command-on-region'具有相同的C-u行爲。編輯以更好地回答您的請求 – brontitall 2013-04-08 00:46:25
沒有運氣我害怕 - 它會提示我輸入命令,但會給出錯誤數量的參數。 – teppic 2013-04-08 00:58:22