使用多行命令回顾Matlab历史记录

5

我在Matlab的命令行中有一个超过一行的命令,但是当我通过按上箭头来调用它时,我只能逐行遍历多行代码...是否有一种方法可以调用完整的最后一次执行,无论是单行还是多行?! 谢谢!


2个回答

3
在命令历史窗口中,选中相关行并按F9键(或右键单击并选择“评估选择”如果您的快捷方式与我的不同)。

2
最简单的解决方案是右键单击命令历史窗口中的特定行,然后选择复制评估所选内容:)

enter image description here

如果您想复制大量历史记录,则可以将历史记录文件(存储在首选项目录中的history.m中)的内容输出到命令窗口,并从那里复制。
type([prefdir '/history.m'])

%-- 20/6/11 3:17 PM --%
clc
outputVariable=someVeryLongFunctionNameThatMakesNoSense(inputVar1,'inputString1',inputVar2)
type([prefdir '/history.m'])

以上命令和截图是在Mac上操作的。在Windows上使用时,请注意斜杠/的方向,通常我总是记不清它应该怎样倾斜...

2
可以编写一个函数读取历史文件:fullfile(prefdir,'history.m')并提取最后一个命令,不断测试前一行以检查它是否以字符...结尾,然后适当地组合所有这些内容并返回结果字符串。 - Amro
2
@Amro,@yoda:直接访问历史记录要简单得多:javaHistory=com.mathworks.mlservices.MLCommandHistoryServices.getSessionHistory; lastCommand = javaHistory(end).toCharArray'; - Jonas
@Jonas:太好了,我知道有一种未记录的功能可以访问命令历史,只是自己找不到 :) - Amro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接