mathematica结束子表达式快捷与windows快捷键冲突问题之修改keyeventtranslations解决方案

mathematica可以用来直接编辑笔记,最近才发现这神器居然还有这么个更神奇的功能,于是软件从一大萌物的级别提高到日常必备的最爱神物的级别,与onenotemindmanager ,thebrain一起成为日常操作的利器。

 
 

学习一个软件,爱上一个软件,刚一开始最需要做的事情就是去学习它的快捷键,将快捷键掌握之后,那种如鱼得水的快感才让你越来越爱上它。

 
 

遗憾的是不知为何wolframmathematica中一个重要的快捷键(结束子表达式)默认设置为ctrl+spce,这个组合键同时也是windows下中英文输入法切换的默认快捷键,使频率也非常大,特别是对于我这种没事在打开一个软件前就得神经质地中英互切七八次的人来说。

 
 

对于这个冲突,网上已经有了一些解决方案,如哲仔在其博客(http://blog.sina.com.cn/s/blog_61f037480100q4yb.html)中提到可以通过修改注册表的方法来将windows的中英文切换快捷键修改为shift+space,但是为了一个软件,切换系统级的快捷键毕竟略有不妥。mathematica虽好,但是ctrl+space的输入习惯是在mindmanager ,thebrain,等其他神器中联合养成了。最好是能够更改mathematica的配置而非更改系统设置。

 
 

经查询与探索,发现mathemaitca的快捷键是完全可以自定义的,其配置都保存在"C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\FrontEnd\TextResources\Windows\KeyEventTranslations.tr"

这样的文件中(因为环境,软件版本等不同,不保证你的文件也在相同路径下,建议使用everything这一搜索神器来定位一下。详见http://xbeta.info/everything-search-tool.htm)

 
 

定位了文件,修改快捷键就简单了。

 
 

我将结束子表达式的快捷键修改为shift+space。亲测有效。

详细设置如下:

一、定位"C:\Program Files\Wolfram Research\Mathematica\9.0\SystemFiles\FrontEnd\TextResources\Windows\KeyEventTranslations.tr"

二、用文本编辑器打开一中文件。

三、在文件中搜索MoveExpressionEnd,搜索结果应该如下图所示:


四、将MoveExpressionEnd一行中,大括号中的control更改为shift。即可。

五、enjoy it。