直接在Emacs中运行Perl代码

时间:2010-10-02 21:53:17

标签: perl emacs

在学校电脑上的Emacs上,我们可以使用'F5'运行一段选定的perl代码。但是,当我试图在家里这样做时,它失败了。我在我的windows7机器上安装了Emacs和Activeperl。

每当我尝试运行一段代码时,我都会收到错误“F5未定义”。但是,当我查看.Emacs文件时,我看到F5功能键被正确绑定到函数perl-eval。今天下午将(defalias 'perl-mode 'cperl-mode)放入我的.Emacs文件中,但当我今晚尝试编写代码时,我再次收到错误'f5未定义'。

有谁可以帮我解决这个问题?我知道我可以使用cmd工具运行我的perl代码,但是当我可以直接从我的Emacs运行时更容易:)。

3 个答案:

答案 0 :(得分:3)

您的.emacs似乎有效,但可能位于错误的位置。

要检查.emacs的位置:

M-x getenv RET HOME RET

其中应显示如下内容:(windows xp)

C:\Documents and Settings\YourName\Application Data\

(或windows7)

C:\Users\YourName\Application Data\

如果它与.emacs的位置相同,则将调试消息添加到.emacs文件的末尾。 e.g。

(message " >------------< This is the one >------------< ") 

然后重新启动Emacs并查看*messages*缓冲区。

如果它显示调试消息,则键绑定应该可用,请使用 C -h k F5

进行检查

让我们知道这些测试的结果。

答案 1 :(得分:2)

您可以在两个Emacs实例中执行C-h k F5。它将告诉您键F5绑定的命令,以便您可以看到差异。要在知道要呼叫的内容后绑定本地计算机上的密钥,请使用以下内容:

(add-hook 'perl-mode-hook '(lambda () (local-set-key  [f7] 'compile)))

答案 2 :(得分:2)

在您的.emacs文件中

(defun perl-eval () "Run selected region as Perl code" (interactive)
   (shell-command-on-region (mark) (point) "perl "))
(global-set-key (kbd "<f5>") 'perl-eval)