在学校电脑上的Emacs上,我们可以使用'F5'运行一段选定的perl代码。但是,当我试图在家里这样做时,它失败了。我在我的windows7机器上安装了Emacs和Activeperl。
每当我尝试运行一段代码时,我都会收到错误“F5未定义”。但是,当我查看.Emacs文件时,我看到F5功能键被正确绑定到函数perl-eval。今天下午将(defalias 'perl-mode 'cperl-mode)
放入我的.Emacs文件中,但当我今晚尝试编写代码时,我再次收到错误'f5未定义'。
有谁可以帮我解决这个问题?我知道我可以使用cmd工具运行我的perl代码,但是当我可以直接从我的Emacs运行时更容易:)。
答案 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)