Emacs Perl模式:如何将脚本/缓冲区发送到Perl解释器?

3

假设我正在使用Emacs默认的Perl模式(即随Emacs 23.1.1一起提供的模式)编辑Perl文件或缓冲区。

是否有一种直接发送整个文件(或缓冲区)到Perl解释器并在单独的缓冲区中查看结果的方法?

1个回答

3

有第三方模式可以运行不良的perl进程并与它们交互(例如inf-perl.el),但是在emacs 23.1.1中没有内置的模式。

然而,一个简单的方法是使用shell-command-on-region在perl中运行您的缓冲区。例如,此函数将在您的缓冲区上运行perl并在名为*Perl Output*的缓冲区中显示输出:

(defun perl-on-buffer ()
  (interactive)
  (shell-command-on-region (point-min) (point-max) "perl" "*Perl Output*")
  (display-buffer "*Perl Output*"))

使用 M-x perl-on-buffer 在perl缓冲区中运行它,或者像这样将其绑定到一个键:

(eval-after-load 'perl-mode
  '(define-key perl-mode-map (kbd "C-c C-c") 'perl-on-buffer))

另一个选项是使用perl <filename>作为编译命令来使用compile/recompile。这样可以在文件内容上工作,而不是缓冲区内容,并且具有使用C-x ` (next-error)导航错误的额外优势。


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