在EmacsProEssentials中重新映射Sublime Keymap

时间:2018-02-09 16:30:00

标签: sublimetext3

EmacsProEssentials Sublime Text 3软件包在键绑定中有一个错误:

{"keys": ["ctrl+\\"], "command": "undo"}

撤消不是ctrl + \在Emacs中它是ctrl + /。

开发人员知道这个问题,但我想在此期间重新映射密钥。

如何在Sublime Text 3中重新映射包中的密钥?

1 个答案:

答案 0 :(得分:1)

当Sublime加载包资源文件时,它会从所有包中加载类似命名的文件并将它们组合在一起。这是按特定顺序完成的,按此顺序,User包始终是最后一个,以便您的自定义优先。

所以最简单的方法就是使用Preferences > Key Bindings(如果您使用的是MacOS,则位于Sublime Text下)并将固定绑定放入自定义键绑定中。

一旦你这样做,你的绑定版本将是活动的(包中的旧版本也是如此),所以事情将按你期望的方式工作。

当上游作者更新包时,您可以删除自定义绑定,但如果您要进行相同的更改,可能这并不重要。

更复杂的修复版本涉及使用PackageResourceViewer查找并打开sublime-keymap的打包版本并在那里修改它,从而覆盖它并在源处修复它。

但是,如果您这样做,当作者更新文件时,您的更改仍将优先,否则不会发出任何通知,因此您将有效地锁定自己的修改版本,这可能会导致问题。

您可以通过安装OverrideAudit来缓解这种情况,2 different graph surgeries会告诉您何时发生这种情况,但无论如何将其修复到User包中可能是更好的方法。