如何修改mathematica系统菜单项的热键绑定?

时间:2012-01-08 02:57:22

标签: wolfram-mathematica hotkeys

这个问题困扰了我很长时间。我们知道,在mathematica中我们可以通过两个文件“KeyEventTranslations.tr”和“MenuSetup.tr”来修改热键绑定,但是一些默认绑定到系统菜单项的热键(例如,在Windows中:Alt+F绑定到File菜单,Alt+E绑定到Edit菜单,Alt+I绑定到Insert菜单等。)不要出现在这些文件中。 我的问题是如何自定义这些热键?这样我就可以将更频繁使用的动作分配给他们。

我注意到在“MenuSetup.tr”文件中,改变了'&'的位置符号不会影响热键绑定(例如,将Menu["&File",{...}]更改为Menu["Fi&le",{...}])。

有什么建议吗?非常感谢你!

1 个答案:

答案 0 :(得分:1)

AutoHotKey几乎可以肯定你想要的东西。您可以定义所需的任何绑定,甚至可以创建宏。绑定可以是上下文敏感的,因此它们仅在特定应用程序中工作。例如,这是一个AutoHotKey脚本,它仅为记事本定义2个绑定,为除记事本外的所有窗口定义1个绑定。

#IfWinActive, ahk_class Notepad
^a::MsgBox You pressed Ctrl-A while Notepad is active. Pressing Ctrl-A in any other window will pass the Ctrl-A keystroke to that window.
#c::MsgBox You pressed Win-C while Notepad is active.
#IfWinActive
#c::MsgBox You pressed Win-C while any window except Notepad is active.

我不确定您要绑定哪些操作,但如果它们是Mathematica特定的,那么编写脚本需要花费一些精力。您可能必须先在Mathematica中定义绑定,然后使用AutoHotKey获取所需的实际绑定,例如将“Action X”绑定到Ctrl-F。