您应该意识到,从版本R2009a开始,Emacslink已从Matlab中删除,因此我想说,此时Matlab-
Emacs是更好的选择。Emacslink的主要优势是更紧密,并且与Matlab集成在一起,尤其是在使用调试器时,但是当前版本的Matlab-
Emacs相当强大,并且可能会像Emacslink一样满足大多数人的需求。
为了从Matlab调用Emacs,最干净的解决方案是运行Emacs服务器(Mx服务器启动)。然后可以设置edit()命令以在Emacs中打开脚本。此处提供了有关如何执行此操作以及将matlab-
shell作为劣质程序运行的详细说明:
http://blogs.mathworks.com/desktop/2009/09/14/matlab-emacs-integration-is-
back/
关于CVS签出:模块名称为“ matlab-emacs”。您曾经能够下载档案,然后只需将其解压缩到elisp目录中即可。
编辑:我决定重新安装matlab-emacs;
这是我所做的逐步操作。(这些步骤非常明显,但是,如果很容易遇到编译错误或误解某些指令,这可能仍然有用)。请注意,直到我重新安装CEDET,matlab-
emacs才编译。
从http://cedet.sourceforge.net/下载CEDET
(以我的情况为1.0pre7)将存档解压缩到〜/ .emacs.d / elisp /(现在有〜/ .emacs.d / elisp /
cedet-1.0pre7 /目录)通过
make EMACS=/usr/bin/emacs〜/ .emacs.d / elisp中的while
编译CEDET ,执行cvs checkout:
cvs -z3 -d:pserver:anonymous@matlab-emacs.cvs.sourceforge.net:/cvsroot/matlab-emacs co -P matlab-emacs
通过编译matlab-emacs
make "LOADPATH=../cedet-1.0pre7/common ../cedet-1.0pre7/eieio ../cedet-1.0pre7/semantic/bovine/ ../cedet-1.0pre7/semantic/"
理想情况下,所有内容都应编译;现在是时候编辑启动文件了:在.emacs中添加
(setq load-path (cons "~/.emacs.d/elisp/matlab-emacs/" load-path))(load-library "matlab-load")
并在matlab的startup.m中添加
addpath('~/.emacs.d/elisp/matlab-emacs/toolbox','-begin');rehash;emacsinit;那应该做!启动emacs,然后执行Mx matlab-shell。如果edit foo.m没有在emacs中打开foo.m,请确保服务器已启动(Mx
server-start)。
为了提高生产力,您可能希望找出从编辑缓冲区向Matlab进程发送命令方面最适合您的方法(使用模式帮助中的快捷方式进行实验)。最后,如果您需要调试东西,请执行do
dbstop infoo,并且在运行foo时,可以使用dbstop系列命令(查找它们),也可以打开工具栏(Mx工具栏模式)并使用那里的按钮来控制断点,步进,继续等。完成后,键入dbquit。
不幸的是,如果您使用的是Windows,则不能选择使用matlab-shell(这有点令人惊讶,看到我如何从命令行在阳光下运行几乎所有其他东西-
Mathematica,R,numpy …)- -因此,您无法进行紧密的emacs /
matlab集成选择(除非您不介意运行支持emacslink的旧版matlab)。



