图片缩略图

在Matlab编辑器和命令窗口中将一个宏分配给键盘按键

版本1.3.0.0 (11.4 KB) 实验后奥特曼
EditorMacro在Matlab编辑器和命令窗口中为请求的键绑定指定宏或动作

4 k下载

更新2011年1月31日

查看许可协议

语法:
[bindingsList, actionsList] = EditorMacro(keystroke,宏,macroType)
[bindingsList, actionsList] = EditorMacro(bindingsList)

描述:
在Matlab编辑器和命令窗口的上下文中,将指定的宏分配给请求的键盘KEYSTROKE。

KEYSTROKE是键盘组合的字符串表示形式。可以识别特殊修饰符(Alt、Ctrl或Control、Shift、Meta、AltGraph),并用空格、破折号(-)、加号(+)或逗号(,)分隔。如果KEYSTROKE已经定义,那么它将被更新(覆盖)。

MACRO应该是Matlab的标准回调格式之一:'string', @FunctionHandle或{@FunctionHandle,arg1,…},或者几百个内置编辑器动作-名称中的任何一个-请阅读下面的MACROTYPE以获得完整的描述。要删除KEYSTROKE-MACRO定义,只需输入一个空的MACRO([],{}或")。

MACROTYPE是一个可选的输入参数,指定MACRO要执行的操作类型:

- 'text'(=默认值)表示如果宏是:
1.'string':该字符串将按原样插入当前字符串
编辑器插入符号的位置(或替换选定的编辑器文本)。
多行字符串可以使用嵌入的\n设置。
2.@FunctionHandle -指定的函数将被调用
并且期望返回一个将被插入的字符串
进入编辑器文档,如上所述。
3.{@FunctionHandle, __arg1、…} -类似#2,但函数会
使用指定的参数调用。

- 'run'表示MACRO应该作为Matlab调用
命令,就像任何常规的Matlab回调。的
可接受的宏格式和函数输入参数
完全像上面的'text',除了没有输出
字符串是预期的,没有文本插入/替换
将完成,这对于非文本操作很有用。

此外,这个MACROTYPE接受所有可用的
(内置的)编辑器动作名称。有效的操作名称可以
通过请求ACTIONSLIST输出参数被列出。

BINDINGSLIST = EditorMacro返回当前定义的KEYSTROKE绑定的列表,作为一个四列单元数组:{KEYSTROKE,macro,type,class}。类信息表示一个内置的动作('编辑器菜单动作','编辑器本地动作','cmdwin本地动作'或'cmdwin菜单动作')或用户定义的动作('文本'或'用户定义的宏')。

BINDINGSLIST = EditorMacro(KEYSTROKE)以四列单元数组的形式返回指定KEYSTROKE的绑定列表:{KEYSTROKE, macro, type, class}。

BINDINGSLIST = EditorMacro(KEYSTROKE,MACRO)在定义一个特定的KEYSTROKE-MACRO绑定后返回绑定列表。

EditorMacro(BINDINGSLIST)可以使用单个命令设置一组键绑定。BINDINGSLIST是先前调用EditorMacro或通过手工构造返回的单元格数组。

[BINDINGSLIST, ACTIONSLIST] = EditorMacro(…)在ACTIONSLIST中返回一个3列的单元格数组,其中包含所有可用的内置操作和当前关联的键绑定:

使用例子:
bindingsList = EditorMacro;获取当前键绑定列表
bindingsList = EditorMacro('ctrl r');获取-R的绑定列表
(绑定、行动)= EditorMacro;%获取可用的内置动作-名称列表
EditorMacro (' Ctrl C转移”、“% % %主要评论% % % % % \ n \ n \ n % \ n ');
EditorMacro('Alt-x', 'try\n % Main code here\ncatch\n % Exception handling here\nend');
EditorMacro(任务管理C, @myCallbackFunction);% myCallbackFunction返回要插入的字符串
编辑宏('Alt control t', @(a,b)datestr(now), 'text');插入当前时间戳
EditorMacro('Shift-Control d', {@computeDiameter,3.14159}, '运行');
EditorMacro('Alt L', 'to lower-case', 'run') %内置操作:将文本转换为小写
EditorMacro('ctrl D','open-selection','run') %覆盖默认命令行窗口操作(=删除),以表现为在编辑器中(=打开选定的文件)

文件的帮助部分列出了一些已知的限制(=TODO for future versions)。

错误和建议:
EditorMacro在Matlab 6.0 (R12)到7.7(R2008b)上进行了测试。

注:不幸的是,我的Matlab 6计算机崩溃了,因为第一个版本,所以我不能再测试EditorMacro在Matlab 6,所以如果你发现问题,请直接给我发邮件。

请将错误发送给Yair Altman (altmany at gmail dot com)

警告:
此代码严重依赖于无文档记录和不受支持万博1manbetx
Matlab功能。它工作在Matlab 6 & 7+,但使用在
你的自己的风险!

有关实施的技术说明可在以下网址找到:http://UndocumentedMatlab.com/blog/EditorMacro/

引用作为

实验后奥特曼(2021)。在Matlab编辑器和命令窗口中将一个宏分配给键盘按键(//www.tianjin-qmedu.com/matlabcentral/fileexchange/24615-editormacro-assign-a-macro-to-a-keyboard-key-stroke-in-the-matlab-editor-and-command-window), MATLAB中央文件交换。检索

MATLAB版本兼容性
创建与R12
与任何版本兼容
平台的兼容性
窗户 macOS Linux

社区寻宝

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

开始狩猎!