为什么在emacs.org模式下禁用了对这个python代码块的评估



在组织模式下的python源代码块中,在命中C-C-C之后,emacs表示

禁用对python源块的评估

有人能解释一下原因吗?

Simon的答案是不对的,如果组织模式版本>=9。这是关于同一问题的另一个问题。

解决方案

cd .emacs.d
cd elpa
cd org-xxxx
rm *.elc

然后,最好用字节重新编译org.xxxx的目录。要做到这一点,先启动emacs,然后启动

C-0 M-x byte-recompile-directory RET ~/emacs.d/elpa/org-xxxx

详情请点击此处。

在编译文件上更新1:EmacsWiki。

为了评估特定语言的组织模式代码块,您必须按照此处所述自定义org-babel-load-languages。评估以下内容可能会解决您的问题:

(org-babel-do-load-languages
'org-babel-load-languages
'((python . t)))

来自文档:

org-babel-load-languages是在org.el中定义的变量。原始值为((emacs-lisp . t))

可以在组织模式缓冲区中评估的语言。此列表可用于加载对以下任何语言的支持,请注意,每种语言都将取决于一组不同的系统可执行文件和/或Emacs模式。当一种语言被"加载"时,该语言中的代码块可以通过默认绑定到C-c C-corg-babel-execute-src-block进行评估(注意,可以设置org-babel-no-eval-on-ctrl-c-ctrl-c变量以从C-c C-c键绑定中删除代码块评估。默认情况下,只加载Emacs Lisp(它没有要求)。

您可以自定义此变量。

此变量是在中引入的,或其默认值已更改Emacs的24.1版本。

最新更新