有没有办法';跳转滚动';在MATLAB中?
在MATLAB编辑器中,您可以使用向上/向下箭头键滚动行,并且可以使用页面向上/向下按钮跳过页面 然而,有没有办法让我一次滚动10行呢?或者其他一些可编程的行数?我以为我可以用CTRL键来做这个,但这似乎不起作用有没有办法';跳转滚动';在MATLAB中?,matlab,user-interface,user-controls,Matlab,User Interface,User Controls,在MATLAB编辑器中,您可以使用向上/向下箭头键滚动行,并且可以使用页面向上/向下按钮跳过页面 然而,有没有办法让我一次滚动10行呢?或者其他一些可编程的行数?我以为我可以用CTRL键来做这个,但这似乎不起作用 谢谢。我并没有意识到,但有一件事非常有用,那就是使用。它的工作方式是将代码分成逻辑部分,并使用“%”部分标题形式的注释(第一个空格是必需的): 如果随后打开单元模式(编辑器中的菜单栏->单元->启用单元模式),编辑器将通过绘制一些细灰线和更改背景颜色来非常清楚地显示您正在使用的区域。这
谢谢。我并没有意识到,但有一件事非常有用,那就是使用。它的工作方式是将代码分成逻辑部分,并使用“%”部分标题形式的注释(第一个空格是必需的): 如果随后打开单元模式(编辑器中的菜单栏->单元->启用单元模式),编辑器将通过绘制一些细灰线和更改背景颜色来非常清楚地显示您正在使用的区域。这本身并不有趣,但您可以让Matlab通过将光标定位在单元格中的任意位置并按CTRL+Enter键,只执行脚本当前单元格中的代码。也可以通过CTRL键向上或向下移动一个单元格+↑/↓ (与您想要的类似)以及其他一些操作,如执行当前单元格并通过CTRL+SHIFT+Enter跳转到下一个单元格。所有这些都可以在文件->首选项->键盘->快捷键下自定义
在维护良好的代码中,无论如何都应该将带有注释的代码划分为逻辑部分,所以这几乎不是问题。我一直使用它将脚本划分为一个部分,从文件中加载一些内容(这可能需要很长时间),然后是一些计算(您可能希望更改几次,而不是每次都重新加载数据),然后是另一个部分来绘制图(您可能需要多次编辑和执行才能正确绘制)。使用cell模式,您可以一节一节地检查代码,并根据需要重复多次以使其正确。我不知道这一点,但有一点非常接近,而且我发现非常有用,那就是使用。它的工作方式是将代码分成逻辑部分,并使用“%”部分标题形式的注释(第一个空格是必需的): 如果随后打开单元模式(编辑器中的菜单栏->单元->启用单元模式),编辑器将通过绘制一些细灰线和更改背景颜色来非常清楚地显示您正在使用的区域。这本身并不有趣,但您可以让Matlab通过将光标定位在单元格中的任意位置并按CTRL+Enter键,只执行脚本当前单元格中的代码。也可以通过CTRL键向上或向下移动一个单元格+↑/↓ (与您想要的类似)以及其他一些操作,如执行当前单元格并通过CTRL+SHIFT+Enter跳转到下一个单元格。所有这些都可以在文件->首选项->键盘->快捷键下自定义
在维护良好的代码中,无论如何都应该将带有注释的代码划分为逻辑部分,所以这几乎不是问题。我一直使用它将脚本划分为一个部分,从文件中加载一些内容(这可能需要很长时间),然后是一些计算(您可能希望更改几次,而不是每次都重新加载数据),然后是另一个部分来绘制图(您可能需要多次编辑和执行才能正确绘制)。使用单元格模式,您可以一节一节地浏览代码,并根据需要重复多次以正确执行。如果您使用的是Windows,则可以使用滚轮设置(在
控制面板中,鼠标
,选项卡滚轮
:
Roll the wheel one notch to scroll:
The following number of lines at a time: 10
如果您使用的是Windows,则可以使用滚轮设置(在控制面板
,鼠标
,选项卡滚轮
:
Roll the wheel one notch to scroll:
The following number of lines at a time: 10
这是一个由两部分组成的解决方案,可让您选择所需的热键和滚动量。我们将首先创建一个函数jumpscroll,该函数可将插入符号移动任意行数,并保留其列位置:
function jumpscroll(n)
editor = com.mathworks.mlservices.MLEditorServices.getEditorApplication.getActiveEditor;
line_col = editor.positionToLineAndColumn( editor.getCaretPosition );
editor.goToLine( line_col(1)+n, line_col(2) )
Matlab键盘快捷键不具备调用随机函数的灵活性,但Yair Altman的键盘快捷键主要解决了这一缺陷。该函数由三个参数调用:组合键、击键时要执行的操作以及宏/快捷键的类型。有关详细信息,请查阅内部函数文档
在命令窗口中运行,以下几行向箭头键(“向上”/“向下”)和numpad箭头(KB\u向上/KB\u向下)的键集(ctrl+shift+up/down)添加jumpscroll(n)
现在更改跳过的行数或键组合很简单。不幸的是,键绑定仅在当前Matlab会话中保留,并且必须在每个新会话中重新加载。理想情况下,这些行将进入startup.m,但这会导致EditorMacro在完全加载编辑器句柄之前尝试访问编辑器句柄的问题。因此…似乎有必要在启动Matlab后手动运行这些行。如果有人有更好的想法,请回复
这个解决方案的两个部分都依赖于Matlab的一些隐藏的核心,在未来的版本中可能会崩溃。Yair解释了EditorMacro及其在哪些方面做得很好。(我发现他的工具对于理解编辑器对象以编写jumpscroll非常重要。)
这最后一节是对林斌答案的评论,但我还没有s.O.的声誉来真正把它放在那里
如果您使用的是Windows,键盘宏程序可以解决鼠标问题。除此之外,它还允许您通过按键控制鼠标滚轮。而且,您不必将鼠标滚轮属性设置为滚动更大的数量,只需按一次键,就可以模拟n个滚轮的点击。Mac/Lin可能也有类似的功能ux.这是一个由两部分组成的解决方案,可让您选择所需的热键和滚动量。我们将首先创建一个函数jumpscroll,该函数将插入符号移动任意行数,并保留其列位置:
function jumpscroll(n)
editor = com.mathworks.mlservices.MLEditorServices.getEditorApplication.getActiveEditor;
line_col = editor.positionToLineAndColumn( editor.getCaretPosition );
editor.goToLine( line_col(1)+n, line_col(2) )
Matlab键盘快捷键没有fl