Ace编辑器 - 更改CTRL + H键绑定

Flu*_*yte 6 key-bindings ace-editor

我工作的实施王牌编辑Ctrl+ F的伟大工程,为内置的"查找"对话框,但我试图找到一种方法,改变了Ctrl+ HCtrl+ R,防止默认行为.

我查看了有关使用键绑定的文档和论坛,但我无法确定调用什么方法来实例化"替换"对话框或如何覆盖它.

a u*_*ser 13

此处定义替换命令.可以使用以下代码更改Ctrl+ Hfor Ctrl+R

editor.commands.addCommand({
    name: "replace",
    bindKey: {win: "Ctrl-R", mac: "Command-Option-F"},
    exec: function(editor) {
        require("ace/config").loadModule("ace/ext/searchbox", function(e) {
             e.Search(editor, true)  
             // take care of keybinding inside searchbox           
             // this is too hacky :(             
             var kb = editor.searchBox.$searchBarKb
             command = kb.commandKeyBinding["ctrl-h"]
             if (command && command.bindKey.indexOf("Ctrl-R") == -1) {
                 command.bindKey += "|Ctrl-R"
                 kb.addCommand(command)
             }
         });
    }
});
Run Code Online (Sandbox Code Playgroud)

但是内部命令的部分非常难看,我建议在ace存储库上使用普通名称,或者replace自动选择命令键