Ace Editor - Change CTRL+H keybinding

前端 未结 2 1166
星月不相逢
星月不相逢 2021-01-05 07:40

I\'m working on an implementation of Ace Editor and Ctrl+F works great for the built-in \"Find\" dialog, however I\'m trying to find a way to

相关标签:
2条回答
  • 2021-01-05 08:24

    Replace command is defined here. it is possible to use the following code to change Ctrl+H for 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)
                 }
             });
        }
    });
    

    but the part with inner command is quite ugly, i'd suggest to make an issue on ace repository to either use normal name for it, or pick up replace commands key automatically

    0 讨论(0)
  • 2021-01-05 08:32

    This worked for me:

    editor.commands.addCommand({
    name: 'replace',
    bindKey: {win: 'Ctrl-R', mac: 'Command-Option-F'},
    exec: function(editor) {
    ace.config.loadModule("ace/ext/searchbox", function(e) {e.Search(editor, true)});
    },
    readOnly: true
    });
    
    0 讨论(0)
提交回复
热议问题