Javascript 如何以编程方式将Ace(vim键盘布局)置于插入模式
我正在使用ace和vim键盘布局。 我的javascript是Javascript 如何以编程方式将Ace(vim键盘布局)置于插入模式,javascript,ace-editor,Javascript,Ace Editor,我正在使用ace和vim键盘布局。 我的javascript是 this.editor = window.ace.edit(this.$el.id) ace.config.loadModule("ace/keyboard/vim", function(m) { var VimApi = ace.require("ace/keyboard/vim").CodeMirror.Vim //here: put editor in insertion mod
this.editor = window.ace.edit(this.$el.id)
ace.config.loadModule("ace/keyboard/vim", function(m) {
var VimApi = ace.require("ace/keyboard/vim").CodeMirror.Vim
//here: put editor in insertion mode :startinsert
VimApi.defineEx("write", "w", function(cm, input) {
//cm.ace.execCommand("save");
console.log("My command :w triggered");
})
})
如何将vim置于插入模式
否则:如何触发中定义的enterInsertMode
操作?我无法访问此操作所需的操作
对象
或者:如何向ace发送一个
I
-keypress,以启动插入模式?似乎没有任何官方api来执行此操作,但使用以下任一操作都可以与当前版本的ace配合使用:
editor.onTextInput("i");
或
谢谢!我测试了这两个选项,它们都正常工作,使用您的最后一个选项,您可以发送任意选项。
var cm = editor.state.cm;
editor.$vimModeHandler.actions.enterInsertMode(cm, {}, cm.state.vim);