用于图形复制的 matlab 热键

matlab hotkey for figure copy

如何为特定任务定义 matlab 热键。具体来说,我在使用数字时通常需要使用高频的"copy figure"。如何为其分配快捷方式(热键)。

Matlab 的键映射可以在首选项菜单中更改。 specific help page of Mathworks.

中提供了有关所有选项的更详细信息
Home -> Environment -> Preferences -> Keyboard -> Shortcuts

向菜单项添加热键可以通过找到 uimenu 对象的句柄并添加快捷键来完成。

例如为了将热键设置为 Ctrl+ H 只需 运行:

set(findall(gcf,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H')

改变当前数字,或

set(findall(0,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H')

更改所有数字。

或者,如果您希望从代码中自动将图形复制到剪贴板,您可以使用 print

print('-clipboard','-dmeta') (Vector graphic, WINDOWS ONLY)
% or
print('-clipboard','-dbitmap') (bitmap graphic)

更新

在回复您的评论时,一种改变所有未来数字的方法是(不推荐)在您的路径中更早地创建您自己的 plot(或任何函数)函数,看起来像这样:

function varargout=plot(varargin)
    varargout=cell(1,nargout);
    [varargout{:}]=builtin('plot',varargin{:});

    set(findall(gcf,'type','uimenu','tag','figMenuEditCopyFigure'),'Accelerator','H');
end

本质上是先调用内置函数plot并转发它的输出然后运行s上面的oneliner来更新当前图形。