3
說我正在默認的Perl模式(Emacs 23.1.1附帶的)中編輯Emacs中的Perl文件或緩衝區。Emacs Perl模式:向Perl解釋器發送腳本/緩衝區?
有沒有辦法直接發送完整的文件(或緩衝區)到Perl解釋器,並看到結果(在一個單獨的緩衝區)?
說我正在默認的Perl模式(Emacs 23.1.1附帶的)中編輯Emacs中的Perl文件或緩衝區。Emacs Perl模式:向Perl解釋器發送腳本/緩衝區?
有沒有辦法直接發送完整的文件(或緩衝區)到Perl解釋器,並看到結果(在一個單獨的緩衝區)?
有第三方模式用於運行低級perl進程並與它們進行交互(例如inf-perl.el
),但沒有包含在emacs 23.1.1中的任何模式。
但是,使用perl運行緩衝區的簡單方法是使用shell-command-on-region
。例如,該功能將在您的緩衝運行perl,並顯示在緩衝區輸出稱爲*Perl Output*
:
(defun perl-on-buffer()
(interactive)
(shell-command-on-region (point-min) (point-max) "perl" "*Perl Output*")
(display-buffer "*Perl Output*"))
與運行它在一個Perl的緩衝的Mx的perl-上緩衝或將其綁定到像鑰匙所以:
(eval-after-load 'perl-mode
'(define-key perl-mode-map (kbd "C-c C-c") 'perl-on-buffer))
另一種選擇是使用compile
/recompile
與perl <filename>
作爲編譯命令。這對文件內容而不是緩衝區內容起作用,並且具有用C-x `
(next-error
)導航錯誤的附加優點。