Ace 编辑器 - 更改 CTRL+H 键绑定 [英] Ace Editor - Change CTRL+H keybinding
问题描述
我正在实现 Ace Editor 和 Ctrl+F 非常适合内置的查找"对话框,但是我试图找到一种方法来改变 Ctrl+H 为 Ctrl+R 并防止默认行为.
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 change out the Ctrl+H for Ctrl+R and prevent default behavior.
我查看了有关使用键绑定的文档和论坛,但我无法确定正在调用什么方法来实例化替换"对话框或如何覆盖它.
I've looked over docs and forums about working with the keybindings but I can't identify what method is being called to instantiate the 'replace' dialog or how to overwrite it.
推荐答案
替换命令已定义 此处.可以使用以下代码将 Ctrl+H 更改为 Ctrl+R
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)
}
});
}
});
但是带有内部命令的部分非常难看,我建议在 ace 存储库上提出问题,要么使用普通名称,要么自动选择 replace
命令键
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
这篇关于Ace 编辑器 - 更改 CTRL+H 键绑定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!