首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MATLAB中有没有“跳转滚动”的方法?

在MATLAB中有没有“跳转滚动”的方法?
EN

Stack Overflow用户
提问于 2013-10-23 00:51:48
回答 2查看 620关注 0票数 1

在MATLAB编辑器中,您可以使用向上/向下箭头键滚动各行,也可以使用页面向上/向下按钮在页面间跳转。

但是,有没有办法让我一次滚动10行?或者其他一些可编程的行数?我以为我可以用CTRL键来做这件事,但这似乎不起作用……

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2013-10-23 06:04:33

如果您使用的是Windows,则可以使用滚轮设置(在Control PanelMouse的选项卡Wheel

代码语言:javascript
复制
Roll the wheel one notch to scroll: 
   The following number of lines at a time: 10
票数 2
EN

Stack Overflow用户

发布于 2013-10-24 12:45:16

这里有一个由两部分组成的解决方案,让你选择任何你想要的热键和滚动量。我们将首先创建一个函数,jumpscroll,它将插入符号移动任意行数,保持其列位置不变:

代码语言:javascript
复制
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的EditorMacro基本上解决了这一缺陷。该函数使用3个参数调用:组合键、按下这些键时要执行的操作以及宏/快捷键的类型。有关细节,请查看内部函数文档。

在命令窗口中运行,以下行将jumpscroll(n)添加到箭头键('UP'/'DOWN')和数字键盘箭头(KB_UP/KB_DOWN)的键集(ctrl+shift+up/down)。

代码语言:javascript
复制
n = 10; % number of lines to move up or down
EditorMacro('shift ctrl pressed UP',      {@jumpscroll,-n}, 'run');
EditorMacro('shift ctrl pressed KP_UP',   {@jumpscroll,-n}, 'run');
EditorMacro('shift ctrl pressed DOWN',    {@jumpscroll, n}, 'run');
EditorMacro('shift ctrl pressed KP_DOWN', {@jumpscroll, n}, 'run');

现在,更改跳过的行数或组合键非常简单。不幸的是,键绑定仅在当前的Matlab会话中持续存在,并且必须在每个新会话中重新加载。理想情况下,这些代码行应该放在startup.m中,但这会导致EditorMacro在编辑器句柄完全加载之前尝试访问它的问题。所以..。似乎有必要在启动Matlab后手动运行这些行。如果谁有更好的想法,请回复!

这个解决方案的两个部分都依赖于Matlab的一些隐藏的内部,在未来的版本中可能会崩溃。Yair解释了EditorMacro以及它在UndocumentedMatlab.com上做得很好的原因。(我发现他的工具uiinspect对于理解足够多的编辑器对象以编写jumpscroll.)

这最后一节是对林斌的回答的评论,但我还没有S.O.的声誉来真正把它放在那里。

如果你使用的是Windows,键盘宏程序AutoHotkey可以解决鼠标问题。在许多其他功能中,它允许您通过按键来控制鼠标滚轮。而且,您可以通过按一次键来模拟n次滚轮单击,而不是将鼠标滚轮属性设置为滚动更大的量。Mac/Linux可能也有类似的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19523830

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档