图片缩略图

在Emacs中编辑。m文件

version 1.1.0.1 (2.03 KB) by Eric Ludlam
GNU-emacs下编辑。m文件的主要模式
4.1
42评级

5下载

更新2016年9月01日

视图版本历史

查看许可协议

下载GNU-Emacs下编辑.m文件的主要模式的文档。
这个项目是在SourceForge上管理的。

http://matlab-emacs.sourceforge.net/

引用作为

Eric Ludlam(2021)。在Emacs中编辑。m文件(//www.tatmou.com/matlabcentral/fileexchange/104-edit-m-files-in-emacs), MATLAB中央文件交换。检索

意见及评分(53

Eric Ludlam

@Shenhai -如果可以通过命令(通过Emacs变量' matlab-shell-command')和开关(通过' matlab-shell-command-switches')启动下面描述的终端,那么可以在matlab-shell中使用任何外部工具。但是,如果错误和调试语句的打印方式与常规的MATLAB会话不同,那么MATLAB -shell的重要部分可能无法正常工作。例如,需要启动横幅来获取加载历史记录所需的信息。

“跑

感谢维护这个包,我经常使用它。然而,现在我的工作通常需要使用Windows。这不是很方便,因为Matlab-shell命令在Windows上不起作用。我理解这是因为matlab在windows上没有独立的shell函数。

我只是遇到了这个扩展,当我使用vscodehttps://github.com/apommel/vscode-matlab-interactive-terminal.它似乎使用python api引擎在Windows上运行matlab CLI,它在vscode上工作得很好。您认为有可能将其整合到Emacs中吗?

谢谢。

亚瑟的作用

Lockywolf

我如何在Windows上构建包?
我从git中解压缩了这个文件,构建指令告诉我要运行' make',但在Windows中我没有' make'。
我需要安装哪一个?Cygwin吗?MSYS2吗?

亚斯Chelian

我过去很喜欢使用这个,但是“Emacs(21.3以后)有一个内置的替代方案:八度模式”[1]。Emacs 21.3于2003年发布。

[1]https://www.emacswiki.org/emacs/MatlabMode

Eric Ludlam

zip文件包含一个说明如何获取源代码的README。

如果您无法打开ZIP文件,请访问http://matlab-emacs.sourceforge.net/并从GIT获取源代码。

迪特尔•威廉

我没有得到。el只是一个压缩的文本文件,我打不开!

戴夫·科尔曼

它被设置为右手文本限制在~68个字符,这是太少了(我更喜欢100个)。我广泛地搜索了代码和互联网,不能理解如何修复这个。当它总是打断代码行时,很难使用。

菲利普Perreault

凯文

我很喜欢这个,但这里有一个bug报告:

当试图在Matlab文件中插入注释中包含单词“for”的内容时,Emacs会锁定。Ctrl-g跳出循环。

杰里

我可以折叠或imenu部分(%%)在。m文件由emacs?

大卫

coyboy

有人能帮我吗?请给我发一份“matlab.el”文件。从sourceforge网上下载有一些未知的问题。我目前使用的是旧版本。我想尝试新的。
coyboy911@sina.com
谢谢你!

恩斯特Kloppenburg

罗伯•坎贝尔

好东西! !我不能没有这个,因为我在emacs中要快得多。然而,我必须同意一些人所说的,与Mathworks编辑器相比,它目前缺少一些功能。

mark p

我通过加载matlab-shell并调用“dbstop”来让调试器工作。Emacs在我当前停止的代码行显示一个箭头。我在想:
1) emacs能显示我的断点在哪里吗?
2)是否可以在emacs中设置/删除断点而不是必须输入dbstop/dbclear?
3)在emacs中是否存在单键步进代码?(像f-10)而不是每次在窗口的matlab部分键入'dbstep' ?

谢谢
马克

斯科特·奥特森

这种模式非常好,但我担心它落后于Matlab语言的发展。

我是一个狂热的emacs用户,所以我仍然使用matlab。el,但我也在Matlab桌面中试验emacs按键绑定。在桌面上,代码突出显示和缩进工作正常,并且有一个最新的调试器界面。另一方面,很多emacs键组合都没有了——仅仅是为了生成代码,emacs/matlab。小伊更快,至少对我来说。

我还没有决定哪个环境总体上更有效率。

驾车范教授

我需要帮助。当我尝试从emacs启动matlab时,它不会工作。我认为加载路径设置不当。我可以在哪里编辑它?

x y

Chethan P

我非常喜欢这种模式,并且每天都在使用。如果能在缩进块(类、方法、属性、在类定义中缩进函数等)中看金宝app到对面向对象编程的支持,那就太棒了。目前,就我所知,声明一个函数会重置整个缩进,所以类中的函数会把一切都搞砸。

谢谢,太棒了。

艾克斯托达德

我爱它,也很感激它。本着合作改进的精神,我提出:
Bug报告,Unix版本2.3.1 (OSF1 V5.1 2650 alpha;XEmacs 21.1;1999年5月)或Linux(GNU Emacs 21.3.1 (i386-redhat-linux-gnu, X工具包,Xaw3d滚动条)的2003-05-22在porky.develop.redhat.com):
字符串'%'(例如,用作框或分隔符)会导致CPU循环。^ G终止。首先要避免循环。
同样:不能像前面报告的那样在注释行之后适当缩进。

约翰。墨菲

我已经用了一段时间了,觉得它很棒。很糟糕的是,原生的matlab编辑器不能更好地处理emacs仿真,因为在两个调试器之间进行切换很烦人。谢谢你提供这个机会。

Bjørn-Helge Mevik

我遇到了Alexey Koloydenko报道的同样的问题。启动matlab的脚本(对我来说:/opt/matlab/bin/matlab),在启动二进制文件时使用exec,而Emacs的start-process(由comint使用,由matlab-shell使用)似乎不喜欢这样。创建运行的脚本
/ opt / matlab / bin / matlab“$ @”
完美的工作,而
执行/ opt / matlab / bin / matlab“$ @”
给出了“挂起”消息。("$@"只是为了让matlab-shell可以传递参数(例如-nodesktop)给程序。)

(我不知道这是Emacs的start-process还是Matlab二进制程序的问题。)

Alexey Koloydenko

版本2.3.1和3.0.1:
出于某些原因,我只能让shell工作,如果我创建一个包含适当命令的可执行文件(例如在我的机器上:/usr/local/bin/matlab -nodesktop -nojvm),并将matlab-shell-command变量引用到该文件。使用“M-Shell hangup”(使用matlab.el提供的默认matlab-shell-command变量)或使用“Can't exec program: /usr/local/bin/matlab -nodesktop -nojvm”(使用“(matlab-shell-command”“/usr/local/bin/matlab -nodesktop -nojvm”)直接执行失败。除此之外,我已经愉快地使用这个资源好几年了。

戴Stevei

也许我有问题
我通过matlab的源代码。El版本2.3.1与2.2.3,发现两者之间的差异:
在matlab >。el v2.2.3第3659行,代码是:com -prompt-regexp "^K?> > *”
但是在v2.3.1或更高版本中,代码是:com -prompt-regexp "^\\(K\\|EDU\\)?> > *”
>我猜可能是这个问题,所以我修改了2.3.1版本的源代码,它工作!然后我尝试了版本2.3.2和版本3.0.1,它在v2.3.2工作,但在3.0.1失败。

戴Stevei

在matlab中有bug。El版本高于2.3.1,因为它不能在Windows xp中正常工作,但在Linux中可以正常工作

问题是:当启动matlab-shell(matlab-shell在cmd.ext上正常工作)时,有无限的“<<”,然后matlabshell不能停止,总是显示“<<”,所以整个屏幕是“<<<<<<<<<<<<<<<<<<<<<<<<<<…”,并且缓冲区的大小越来越大,我不知道为什么,但是matlab. txt . txt . txt . txt . txt . txt。El verson 2.2.3工作正常

贾尼拉赫蒂宁

matlab-shell无法使用7.1.0.7 (R14) Service Pack 3和GNU Emacs 21.3.1。当开始使用M-x matlab-shell时,结果是“M-Shell挂机”!在matlab-shell-command-switches的第82行中,变量应该是matlab-shell-command-switches -Add The noteworthy 'c'!

汤姆·托斯

如果注释行位于.m文件的开头,则会挂起在多个注释行之后。
我喜欢许多配置选项。

泰德法警

好吧

马提亚Habl

当有两个或多个连续的注释行时,按会导致Emacs挂起。幸运的是,C-g可以打破这个无限循环。

Yossi Farjoun

比Matlab编辑器IMHO更好。

我发现了一个(小)错误:如果你有一个名为'end_something'的变量,你有一个像这样的块:

如果一个b >
end_something = 0;
结束

缩进不能正常工作。

欢呼。

地主选手Sustik

注释行后面的缩进不起作用。
默认的缩进是2,而在GUI中是4。否则就很有帮助了!非常感谢!

智恒曹

当我尝试字节编译文件时,Emacs给了我一个错误:

编译文件/home/polaris/cao/matlab/matlab.el在1月3日星期一17:45:47 2005
**参考自由变量matlab-eei-process
而编译matlab-mode:
**赋值给自由变量add-log-current-defun-function
在编译顶级表单时:
!!读取语法无效((")"))

本J

非常好!

麦克斯林

史蒂夫西班牙

为了获得更多的matlab的“现代”实现,使用Java接口,你可能想在.el文件中修改以下内容:

(defcustom matlab-shell-command-switches”“

(defcustom matlab-shell-command-switches“-nodesktop”

如果你有。elc文件,同样可以直接编辑。

斯蒂芬·L。

首先,感谢您提供这一功能。我认为有一个修正是必要的:当您从菜单中插入一个函数时,函数的名称(大写)应该紧挨着百分号。不应该有空格。

除此之外,谢谢你提供这些信息。

帕瑞克豪Hirak

确保你把。el文件放到
/lisp文件夹,或者至少在.emacs文件中添加路径

戴夫林

非常感谢你提供这个。我总是发现MATLAB的内置编辑器有点烦人,而您把我们从它中解放出来了。

雅彦美津浓

在UNIX上编程对我有好处。

杰瑞·陈

好的工作……在评论中有一个小错别字:
它应该是:
(setq matlab-shell-command-switches”(“-nojvm”))
而不是
(setq matlab-shell-command-swithes”(“-nojvm”))

约西亚Yoder)

谢谢……对于那些像我一样沉迷于emacs中的许多工具的人来说,这太棒了!开始工作也很容易!

达米亚诺的触屏技术

只能说:“……谢谢!”

Stephan韦斯

非常感谢-这真的是很大的帮助!

萨提亚米希拉

matlab模式将emacs的强大功能和matlab引擎的强大功能结合在一起,构建了一个伟大的软件。Matlab自己的图形用户界面只是在做一些有用的尝试。

爱德华。格蕾丝

远比Matlab编辑器更好!

沃尔夫冈Brandhuber

谢谢你的emacs模式。
这真的很有帮助。

Kaoru天野之弥

皮特·沃特金斯

emacs模式是使用matlab的一种非常方便的方式

Bjorn Gustavsson

.....但我还是得想出
算法…

Shai Ayal

杨晨Klymak

优秀的模式-在Gnu/X Emacs中工作得很好。通过邮件列表及金宝app时支持。

MATLAB版本兼容性
创建R10
与任何版本兼容
平台的兼容性
窗户 macOS Linux
标签添加标签

社区寻宝

在MATLAB中心找到宝藏,并发现社区如何可以帮助你!

开始狩猎!