更改 Ace 编辑器的默认键绑定
changing the default keybindings of the Ace editor
我正在使用 vim 模式,我想将 'j' 的行为更改为 'gj',将 'k' 的行为更改为 'gk'。我尝试使用以下内容:
editor.commands.bindKey("j", null);
editor.commands.bindKey("j", "golinedown");
但是 'j' 仍然具有转到文件中的下一行(而不是屏幕上的下一行)的默认行为。作为解决方法,我目前正在使用:
editor.commands.bindKey("cmd-j", "golinedown");
这是有效的,因为 cmd-j 没有用于任何其他用途。如何更改 'j'、'k' 的默认键绑定?
vim 键绑定的格式与默认的 ace 键绑定不同,因此它们使用自己的 api Vim.map
类似于 :map
命令26=]
Vim = require("ace/keyboard/vim").Vim
Vim.map("j", "gj", "normal")
Vim.map("k", "gk", "normal")
请注意 vim 键绑定不包含在 ace.js 中并且是异步加载的,因此您需要在加载该文件后 运行 此代码,这可以通过以下方式完成使用 config.loadModule
加载 keybinding-vim.js
脚本
ace.config.loadModule("ace/keybinding/vim", function() {
// use Vim here
})
或为 "load.module" 事件添加侦听器
ace.config.on("load.module", function(e) {
if (e.name == "ace/keyboard/vim" && e.module.Vim)
// use Vim here
})
我正在使用 vim 模式,我想将 'j' 的行为更改为 'gj',将 'k' 的行为更改为 'gk'。我尝试使用以下内容:
editor.commands.bindKey("j", null); editor.commands.bindKey("j", "golinedown");
但是 'j' 仍然具有转到文件中的下一行(而不是屏幕上的下一行)的默认行为。作为解决方法,我目前正在使用:
editor.commands.bindKey("cmd-j", "golinedown");
这是有效的,因为 cmd-j 没有用于任何其他用途。如何更改 'j'、'k' 的默认键绑定?
vim 键绑定的格式与默认的 ace 键绑定不同,因此它们使用自己的 api Vim.map
类似于 :map
命令26=]
Vim = require("ace/keyboard/vim").Vim
Vim.map("j", "gj", "normal")
Vim.map("k", "gk", "normal")
请注意 vim 键绑定不包含在 ace.js 中并且是异步加载的,因此您需要在加载该文件后 运行 此代码,这可以通过以下方式完成使用 config.loadModule
keybinding-vim.js
脚本
ace.config.loadModule("ace/keybinding/vim", function() {
// use Vim here
})
或为 "load.module" 事件添加侦听器
ace.config.on("load.module", function(e) {
if (e.name == "ace/keyboard/vim" && e.module.Vim)
// use Vim here
})