2013-07-13 21 views
5

pracuję na realizację Ace Editor i Ctrl + F działa świetnie dla wbudowanego w "Znajdź" dialog, jednak staram się znaleźć sposób, aby zmieniać się na Ctrl + H do Ctrl + R i zapobiegania zachowanie domyślne.Ace Editor - Zmień kombinacja klawiszy CTRL + H

Przeglądałem dokumenty i fora dotyczące pracy z kluczami, ale nie jestem w stanie określić, która metoda jest wywoływana w celu utworzenia instancji okna "zastąp" lub nadpisania go.

Odpowiedz

12

Wymień polecenie jest zdefiniowane here. możliwe jest, aby użyć następującego kodu zmienić Ctrl + H dla 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) 
      } 
     }); 
    } 
}); 

ale część z poleceniem wewnętrznym jest dość brzydki, chciałbym zasugerować, aby problem ace repozytorium do użyć normalnego nazwę dla niego, albo podnieść replace poleceń klucz automatycznie

+0

Dla przypomnienia - nie działa @today. –

0

Ten pracował dla mnie:

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 
});