直接在Emacs中运行Perl代码

直接在Emacs中运行Perl代码,perl,emacs,Perl,Emacs,在学校电脑上的Emacs上,我们可以使用“F5”运行选定的perl代码。然而,当我试图在家里做这件事时,它失败了。我已经在windows7机器上安装了Emacs和Activeperl 每当我试图运行一段代码时,就会出现错误“F5未定义”。但是,当我查看.Emacs文件时,我看到F5函数键已正确绑定到函数perl eval。今天下午,它将(defalias'perl mode'cperl mode)放在我的.Emacs文件中,但当我今天晚上试图编写代码时,再次收到错误“f5未定义” 有谁能在这个问

在学校电脑上的Emacs上,我们可以使用“F5”运行选定的perl代码。然而,当我试图在家里做这件事时,它失败了。我已经在windows7机器上安装了Emacs和Activeperl

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


有谁能在这个问题上帮助我吗?我知道我可以使用cmd工具运行我的perl代码,但是如果我可以直接从Emacs运行,那么就容易多了:)。

您可以在两个Emacs实例中执行C-h k F5。它将告诉您键F5绑定到哪个命令,因此您可以看到差异。要在知道调用什么后在本地计算机上绑定密钥,请使用以下方法:

(add-hook 'perl-mode-hook '(lambda () (local-set-key  [f7] 'compile)))
在.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) (defun perl eval()“将所选区域作为perl代码运行”(交互式) (区域(标记)(点“perl”)上的shell命令)
(全局设置键(kbd“”)'perl eval)看起来您的
.emacs
是有效的,但可能位于错误的位置

要检查
.emacs
的位置,请执行以下操作:

M-x
getenv
RET HOME RET

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

(或windows7)

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

(message " >------------< This is the one >------------< ") 
(消息“>-----------<这是一个>-----------<”)
然后重新启动Emacs并查看
*消息*
缓冲区

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


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

I allready尝试了C-h k F5,但它也说“F5未定义”。但是如果我查看.Emacs文件,我会看到以下命令:“(全局设置键(kbd)”)“perl eval”,这很奇怪,因为这看起来完全合法。你确定你的.emacs已加载吗?顺便说一句:您写的是.Emacs,但是它必须命名为.Emacs(没有大写字母e),这可能是错误的原因。在Emacs C-x f~/.Emacs中执行此操作,并确保加载了正确的文件。如您所见,已给出正确的答案。但是谢谢你的帮助。谢谢:)。实际上,.emacs文件必须位于C:\Users\Name\Application Data\Roaming中,现在该文件已加载,我可以使用F5键运行perl代码。他们真的应该把它放在自述文件中,因为原始的.emacs在c:\emacs\中。先生,你是个救生员。没有那么多运行Windows的Emacs用户,更不用说运行Windows7的用户了,他们没有更新Emacs自述文件或EmacsWiki.org谢天谢地,你可以在这里得到很多Emacs的帮助。我正在看这个,想知道为什么函数的输出会出现在底部的状态栏上?(不确定底部的条实际名称)
C:\Users\YourName\Application Data\
(message " >------------< This is the one >------------< ")