2014-10-06 4 views
0

Хорошо, я делаю несколько экспериментов с Ace editor, и я пытаюсь контролировать, какие клавиши/ярлыки были связаны.Сбросить привязки клавиш - редактор Ace

Лучший способ, которым я мог подумать, - полностью устранить/сбросить все привязки клавиш и повторно установить только те, которые мне нужны.

Как это можно сделать?

Любые идеи?


P.S. Я просмотрел всю документацию (и список "default" Key Bindings), но я все еще не уверен. Я также играл с консолью JS и editor.keyBinding.getKeyboardHandler(), но я все еще не могу найти подходящий способ/метод/свойство, чтобы отменить конкретную привязку клавиш.


Попытка этот подход (Ace Editor - Change CTRL+H keybinding), я попытался editor.commands.findnext={} в порядке - например - для устранения Cmd + G связывание с командой "Find Next". Однако, ярлык все еще там ...: S

ответ

4

Чтобы удалить все команды делают

var allCommands = editor.commands.byName; 
editor.commands.removeCommands(allCommands) 
// now you can add commands as you wish 
allCommands.findnext.bindKey = {win: "Ctrl-H", mac: "Cmd-H"} 
editor.commands.addCommand(allCommands.findnext) 

Но если вы хотите удалить только особенности связывания, вызовите

editor.commands.bindKey("Cmd-G", null) 
+0

Одно слово: удивительный. Вы сделали мой день! :-) –

+1

Я пробовал это, и он не работает. Ace.commands не определено. – Bernhard

+1

Туз должен быть экземпляром ace.edit. – Bernhard