让普通Mac程序也能使用emacs的键绑定

最近给mac配了一个码农神器HHKB Pro 2键盘,然后在AppCode中配置Emacs键绑定的时候发现Emacs的键绑定在Mac下不好使,搜了一下他们官方的说法,是因为AppCode以及其他JetBrain公司的产品的Emacs键绑定最初就不是给Mac设计的,所以在Mac下使用option + 字符按钮会使用系统默认设置,而不会触发编辑器的动作。
然后搜这个解决方案的时候无意中找到mac可以修改按键的键绑定,而这个改动可以应用到几乎所有使用Cocoa Text的应用程序,方法是创建 ~/Library/KeyBindings目录,编辑~/Library/KeyBindings/DefaultKeyBinding.dict文件,内容为:

这里^表示Control,~表示option/meta按键,后面对应的操作是NSResponder类的selector,完整的可以参考Apple的文档
保存后重启下电脑,或者重启下程序即可生效。
我重启了AppCode之后发现这个方法可以让AppCode的Emacs键绑定生效了,不光如此,其他程序里也可以使用emacs的键绑定了。


Last modified on 2014-08-29