我正试图在github gists上为我心爱的Vim启用Ace的keyBoard处理程序。这似乎是一件容易的事,但我正在努力:
editor
)https://gist.github.com/assets/ace/keybinding/vim-b9f3b98dd13151f9b4c7279d8259b69e.js
我在Ace Google Group上找到了以下代码:
env.editor.setKeyboardHandler(require("ace/keyboard/keybinding/vim").Vim)
但这不起作用(即使我替换了github url)所以我假设这适用于Cloud9 IDE,而不是自主/定制Ace。
答案 0 :(得分:23)
在最新版本的ace(v1.1.1)中,内置了vim和emacs绑定。以下作品:
editor.setKeyboardHandler("ace/keyboard/vim");
答案 1 :(得分:10)
我在Google Google小组上posted(+代表Harutyun)并收到以下代码的回复:
ace.require("ace/lib/net").loadScript("https://rawgithub.com/ajaxorg/ace-builds/master/src-min-noconflict/keybinding-vim.js",
function() {
e = document.querySelector(".ace_editor.ace-github").env.editor;
e.setKeyboardHandler(ace.require("ace/keyboard/vim").handler);
})
这就像魅力一样(请注意,github使用的ace版本可能会改变,这可能会破坏这一点)。
每次进入控制台都很痛苦,所以我打算将它添加到一个greasemonkey脚本(一个chrome插件可能很棒! - 很好看)。
<强>更新强>
我编写了一个小Chrome Extension,它可以在大多数Ace.js和CodeMirror站点上启用Vim绑定。问题和贡献欢迎github repo
答案 2 :(得分:1)
我无法让其他两个解决方案起作用。 (不过,Nick的Chrome扩展程序对我来说仍然非常适合。)
另一种解决方案是在设置菜单中更改为vim
模式。
要访问设置菜单,请确保ACE编辑器具有焦点,然后按ctrl
+ ,
(控制和逗号)。
这将打开屏幕右侧的菜单。找到“键盘处理程序”下拉列表,然后选择vim
。按escape
或单击设置菜单中的某个位置以关闭它。
vim
模式。
答案 3 :(得分:0)
您必须安装ace-build以及react-ace才能访问主题,键绑定等
npm install react-ace ace-builds
在反应中,您必须添加以下行:
import "ace-builds/src-noconflict/keybinding-vim"
<AceEditor
...
keyboardHandler='vim'
...
/>